[프로그래머스] 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.
[프로그래머스] Level 1. 두 정수 사이의 합
def solution(a, b): if a == b: return a else: answer = 0 for i in range(min(a,b), max(a,b)+1): answer += i return answer def solution(a, b): if a == b: return a else: return sum(range(min(a,b), max(a,b)+1)) range()를 통해 a와 b 사이에 속한 모든 정수를 구한다 range(a, b)면 a부터 b-1까지 구하므로 b+1을 해야한다 이 때 b가 더 커야하므로 min(), max()를 통해 더 작고 큰 것을 구한다 sum() - iterable의 합을 구하는 함수
2022. 2. 11.