
Programmers / 약수의 합 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 약수의 합 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12928 나의 풀이 def solution(n): s = [] for i in range(1,n+1): if n % i == 0: s.append(i) return sum(s) 모범답안 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) ※ 알아야 할 것 - num / 2의 수만 검사한다니... 그러고보니 맞는 말이다. 반을 넘어간 값은 검사하지 않아도 된다.