코딩테스트 문제풀이(Python)
[프로그래머스] 약수의 합 문제풀이 (파이썬)
chanfficial
2022. 8. 29. 04:09
12928. 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
입출력 예
n | return |
12 | 28 |
5 | 6 |
문제풀이
def solution(n):
i = 1
answer = []
while i <= n:
if n % i == 0:
answer.append(i)
i += 1
answer = sum(answer)
return answer
- 약수를 모두 구하기 위해 i(인수) 가 n 보다 작거나 같을 때 까지 반복하는 while문을 사용하여, i 가 n 의 약수이면 answer 리스트에 추가한 다음 i 를 1씩 증가시켜서 반복하게 했다.
반복문이 끝난 다음 n 의 약수가 모두 들어있는 answer 리스트에서 sum() 을 사용하여 모든 약수들의 합을 구해 리턴하게 했다.