문제설명
- 정수
n
을 입력받아n
의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성하라.n
은 0 이상 3000이하인 정수- 입출력 예(1)
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예(2)
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
function solution(n) {
let answer = 0;
for (let i = 1; i <= n; i++) {
if (n % i === 0) {
answer += i;
}
}
return answer;
}
📍 풀이과정
n
을 어떤 숫자로 나누었을 때 나누어떨어지면, 그 수는n
의 약수이다.i
는 1부터n
까지 차례로n
을 나누어본다.- 이 때 나누어 떨어지면 answer에 더해주는 과정을 반복한다.