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() 을 사용하여 모든 약수들의 합을 구해 리턴하게 했다.
'코딩테스트 문제풀이(Python)' 카테고리의 다른 글
[프로그래머스] 문자열 내 마음대로 정렬하기 문제풀이 (파이썬) (0) | 2022.10.14 |
---|---|
[프로그래머스] 문자열 내림차순으로 배치하기 문제풀이 (파이썬) (0) | 2022.10.13 |
[프로그래머스] 나누어 떨어지는 숫자 배열 문제풀이 (파이썬) (0) | 2022.08.29 |
[프로그래머스] 문자열 내 p와 y의 개수 문제풀이 (파이썬) (0) | 2022.08.27 |
[프로그래머스] 두 정수 사이의 합 문제풀이 (파이썬) (0) | 2022.08.27 |