약수의 합
어떤 수를 입력받아 그 수의 약수를 모두 더한 수 sumDivisor 함수를 완성해 보세요.
예를 들어 12가 입력된다면 12의 약수는 [1, 2, 3, 4, 6, 12]가 되고, 총 합은 28이 되므로 28을 반환해 주면 됩니다.
- 내 풀이
from functools import reduce
def sumDivisor(num):
divisor = []
for i in range(num):
if num % (i+1) == 0:
divisor.append(i+1)
return reduce(lambda x, y: x + y, divisor)
- 다른 사람 풀이
def sumDivisor(num):
return sum([ i for i in range(1,num+1) if num%i==0])