[프로그래머스] 약수의 합 - 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
정리
오늘은 기본적인 약수를 구하고 약수들의 합을 구하는 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!
피드백은 언제나 환영입니다. 😊