[JS 알고리즘_18] 약수의 합

이강윤·2022년 7월 7일
0

JS알고리즘

목록 보기
18/28
post-thumbnail

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

입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.

입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.

풀이

function solution(n) {
    let answer = []
    for(let i=1; i<=n; i++) {
        if(n%i === 0) answer.push(i)
    }
    return answer.reduce((acc,cur) => acc+cur, 0)
}
  1. n만큼 반복문을 이용하여 나눠지는 값이 0일때 그 값을 answer 배열에 넣는다.
  2. answer배열에 들어간 값을 reduce함수를 이용하여 합을 더한다!
profile
멋진 FE개발자가 될거야 ✌

0개의 댓글