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
반응형
'자료구조 및 알고리즘 > JavaScript Practice' 카테고리의 다른 글
JS Practice) 프로그래머스 Lv.1 : x만큼 간격이 있는 n개의 숫자 (0) | 2023.05.17 |
---|---|
JS Practice) 프로그래머스 Lv.1 : 나머지가 1이 되는 수 찾기 (0) | 2023.05.16 |
JS Practice) 프로그래머스 Lv.1 : 평균 구하기 (0) | 2023.05.13 |
JS Practice) 프로그래머스 : 짝수와 홀수 (0) | 2023.05.12 |
JS Practice) 프로그래머스 : 평행 (1) | 2023.05.10 |