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

bang·2020년 5월 8일
2

문제

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

제한사항

n은 0 이상 3000이하인 정수입니다.

코드

function solution(n) {
    var answer = [];
    for(let i = 0; i <=n ; i++){
        if(n%i ===0){
           answer.push(i);
        }
    }
    var sum = answer.reduce((a,b)=> a + b,0);
    return sum;
}

해설

  1. 빈 array인 answer 선언
  2. for문을 통해 n값이 i값으로 나누어 떨어지면 answer배열에 push로 합침
  3. reduce를 이용해 answer를 합침

1개의 댓글

comment-user-thumbnail
2021년 6월 25일

var sum = answer.reduce((a,b)=> a + b,0);
이부분에서 마지막에 ,0 을 해주는 이유가 궁금합니다 .
안했을때는 테스트케이스에서 실패가 뜨더라구요

답글 달기