정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
function solution(n) {
let answer = 0;
for(let i = 1; i <= n; i++) {
if (n % i === 0) answer += i
}
return answer;
}
console.log(solution(5))
n % i === 0
이 되면 약수이므로 answer에 더해준다.function solution(n) {
return Array(n).fill().map((v, i) => i + 1).reduce((a, c) => n % c ? a : a + c, 0)
}
n % c ? a : a + c
이 부분은 나눠지면 나눈 값을 더하고, 안 나눠지면 이전 값을 그대로 사용한다는 의미