문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
나의 풀이
def solution(n):
answer = 1
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
answer += i
if i != (n // i):
answer += (n // i)
return n if n <=1 else answer + n
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12928
코딩테스트 연습 - 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수
programmers.co.kr
'Algorithm > Daily Coding Tests Challenge' 카테고리의 다른 글
[프로그래머스 코딩테스트] lv1. 자리수 더하기 (0) | 2021.08.12 |
---|---|
[프로그래머스 코딩테스트] lv1. 이상한 문자 만들기 (0) | 2021.08.12 |
[프로그래머스 코딩테스트] lv1. 시저 암호 (0) | 2021.08.11 |
[프로그래머스 코딩테스트] lv1. 문자열을 정수로 바꾸기 (0) | 2021.08.10 |
[프로그래머스 코딩테스트] lv1. 수박수박수박수박수박수? (0) | 2021.08.10 |