티스토리 뷰

프로그래머스 1단계

약수의 합(JS)

켈럽 2023. 7. 26. 21:44

문제 설명

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

 

제한사항

 

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

 

 

입출력 예

  • n이 12일 때 약수는 (1, 2, 3, 4, 6, 12) 입니다. 이를 모두 더하면 28 입니다.
  • n이 5일 때 약수는 (1, 5) 입니다. 이를 모두 더하면 6 입니다.

 

 

풀이

function solution(n) {
    let arr = [];
    for(i = 1; i <= n; i++){
       if(n % i === 0){
           arr.push(i);
       }
    }
    return arr.reduce((prev, curr) => prev + curr, 0);
}

 

설명

 

-먼저 arr라는 빈 배열을 준비한다.

 

-약수는 n을 1부터 n까지 나눴을 때 나머지가 0이 되는 숫자를 뜻한다. 그러므로 반복문을 통해 n을 1부터 n까지 하나씩 나눠주면서 나머지가 0이 되는 값을 arr에 push 하도록 하면 된다.

 

-그 후 약수의 총 합을 구하는거니깐 reduce 함수를 사용해서 arr의 총합을 구해주면 된다.

'프로그래머스 1단계' 카테고리의 다른 글

문자열 내림차순으로 배치하기(JS)  (0) 2023.08.27
약수의 개수와 덧셈(JS)  (0) 2023.08.16
음양 더하기(JS)  (0) 2023.08.16
자릿수 더하기(JS)  (0) 2023.08.07
x만큼 간격이 있는 n개의 숫자(JS)  (0) 2023.08.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함