프로그래머스 풀이/level1

[Programmers] level 1) 문제 '약수의 합' 풀이

진기명기 2023. 5. 3. 10:52
🫠 Programmers (level 1) 👉🏻 문제 3번 (약수의 합)

✏️ 문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해 주세요.
✏️ 제한 사항
n은 0 이상 3000 이하인 정수입니다.
✏️ 입출력 예
n   return
12   28
5     6

 

 

 


function solution(n) {
  let arr = new Array(n).fill(1).map((item, index) => item + index)
    
  return arr.filter((item) => n % item === 0).reduce((acc, item) => acc + item, 0)
}
✅ 매개변수로 받는 n만큼 배열을 만들고(1 ~ n까지), 배열의 filter로 약수인 것만 반환하였다.
✅ 반환한 값을 바로 reduce로 모두 더해주었다.