자료구조 및 알고리즘/JavaScript Practice
JS Practice) 프로그래머스 Lv.1 : 약수의 합
Ryomi
2023. 5. 14. 09:07
728x90
반응형
약수의 합
문제설명 :
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
입출력 예
n | result |
12 | 28 |
5 | 6 |
접근
: while문을 사용해 n의 약수를 구해 answer에 더해주었다.
function solution(n) {
let answer = 0
let i = 1
while(i <= n){
if(n % i === 0){
answer += i
}
i++
}
return answer
}
solution
function solution(n) {
var answer = 0;
let i;
for (i = 1; i <= Math.sqrt(n); i++){
if (!(n % i)) {
answer += (i + n / i);
}
}
i--;
return (i === n/i) ? answer-i : answer;
}
728x90
반응형