알고리즘🅰/프로그래머스

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

개발조각 2022. 2. 25. 12:35
728x90
반응형

이번 문제는 쉬운 편이라 빠르게 풀었습니다.

 

 


해결방안

function solution(n) {
    var answer = 0;
    
    for(let i=1; i<=n; i++){
        if(n%i===0) answer+= i;
    }
    return answer;
}

먼저 for문을 사용해서 1~n까지의 수를 나오게 했습니다.

  • for(let i=1; i<=n; i++) : n이 12이면 1~12까지 반복

문제가 " n의 약수를 모두 더한 값을 리턴"하라는 거니까 먼저 약수인 수를 구하기 위해 %를 사용했습니다.

  • if(n%i===0) : 만약 n의 약수이면 (n이 12이면 -> 12%1 ~ 12%12 까지 구함)

약수일 경우 (n%i===0 이 true이면) answer에 더해줍니다.

  • if(n%i===0) answer+= i; : n이 12이면 1+2+3+4+6+12 = 28이 됩니다.

 


여기까지 프로그래머스 약수의 합 해결방안에 대해 설명해보았습니다.

728x90
반응형