[프로그래머스] Lv 1. 약수의 합

morecodeplease·2024년 2월 29일
0

프로그래머스

목록 보기
5/23
post-thumbnail

🌭 문제 설명

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


🍗 제한 사항

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

🎁 입출력 예시

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

😎 나의 풀이

function solution(n) {
  var answer = 0;
  for(let i = 1; i <= n; i++) {
      if(n % i === 0) 
      answer+=i
} 
  return answer;
}

console.log(solution(12)) // 출력 : 28;
console.log(solution(5)) // 출력 : 6;

입력받은 n만큼 반복문을 돌아 ni로 나눈 나머지가 0이면 약수이기 때문에 answer에 누적해서 더해주고 answer를 return한다.


🧵 다른 풀이

function solution(num) {
    let sum = 0;
    for (let i = 1; i <= num; i++) {
        if (num % i === 0) sum += i
    }
    return sum
}
  • 위에 내가 쓴 풀이와 같은 방식으로 푼 풀이가 좋아요가 제일 많으므로 일반적이게 푼 것 같다.
profile
Everyday's a lesson

0개의 댓글