[프로그래머스] Level 1. 약수의 합
from math import isqrt def solution(n): answer = 0 for i in range(1, isqrt(n) + 1):# 1 if (n % i) == 0:# 2 answer += i if i != (n // i):# 3 answer += (n // i) return answer # 1 - 12의 약수를 구하기 위해 작은 수부터 나누어 준다면 (1, 12), (2, 6), (3, 4), (4, 3), (6, 2), (12, 1)이다 - 이때 4부터는 앞에것의 중복이므로 3까지만 나누어주면 된다 - 12는 3^2 = 9보다 크고 4^2 = 16보다 작으므로 isqrt(12) = 3번만 나누기를 하면 된다 i
2022. 2. 18.