정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
function solution(n) {
const result = [];
for (let i = 1; i <= n; i++) {
if (n % i === 0) {
result.push(i);
}
}
return result.reduce((acc,cur)=>acc+cur,0)
}
나는 배열로 푸시하는게 좀 머리에 박혀버렸는데
생각해보니 배열을 안쓰고 숫자열 하나 변수로 선언하고 거기에 i
를 계속 더해나가고 반환해버리면 된다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#