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

문제 출처

Lv.1 약수의 합 - JavaScript

문제 설명

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

제한 조건
  • n은 0 이상 3000이하인 정수입니다.
예시

입출력 예

n return
12 28
5 6
풀이
function solution(n) {
  // 반환할 값을 셋팅해준다.
  let answer = 0;

  // 1부터 들어온 수(12)까지 반복문을 돌린다.
  for (let i = 1; i <= n; i++) {
    // n(12)의 값과 i값을 나눈 뒤 나머지의 값이 0일 시 약수이므로
    // 약수를 셋팅한 값에 더해준다.

    // 12 % 1의 값은 0 이므로 셋팅한 값에 1을 더해준다.
    // 12 % 2의 값은 0 이므로 셋팅한 값에 2를 더해준다.
    // 12 % 3의 값은 0 이므로 셋팅한 값에 3를 더해준다.
    // ...
    // ...
    if (n % i === 0) {
      answer += i;
    }
  }

  // 값의 합을 반환해준다.
  return answer;
}

console.log(solution(12)); // 28
console.log(solution(5)); // 6
정리

오늘은 기본적인 약수를 구하고 약수들의 합을 구하는 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!

for 문 - MDN
나머지 (%) - MDN

피드백은 언제나 환영입니다. 😊