프로그래머스 - 약수의 합

문제 설명

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


제한 사항

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


입출력 예

n return
12 28
5 6

입출력 예 설명

  • 입출력 예 #1

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

    • 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.


Solution

1
2
3
4
5
6
7
8
function solution(n) {
return new Array(Math.floor(Math.sqrt(n))).fill(0).reduce((target, arr, index) => {
let number = index + 1;
let numberLast = n / number;
n % number === 0 && (target = target + (numberLast === number ? number : number + numberLast))
return target;
}, 0)
}

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×