[프로그래머스] 약수의 합

stella·2023년 1월 30일
0

Algorithm

목록 보기
24/40
post-thumbnail

문제

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.


풀이

n = 12
12의 약수 = 1 2 3 4 6 12
12의 약수합 = 28
12의 약수 구하는 로직 = n % i === 0

  • 약수의 합을 구하려면 우선 n의 약수들을 구해야한다.
  • 그러기 위해서 n의 값을 순회해서 확인해야하기 때문에 for문을 사용해서 약수값을 빈배열에 담아주었다.
  • 그 다음 빈배열에 있는 값들을 다 더해주기 위해서 다시 for문을 사용하여 answer에 더해주어 return
function solution(n) {
    var answer = 0;
    let space = [];
    
    for(let i=1; i <= n; i++) {
    if (n % i === 0) {
        space.push(i);
        }
    }
    for (let r=0; r < space.length; r++) {
        answer += space[r];
    }
    return answer;
}
profile
Frontend Engineer

0개의 댓글