whatisthis?

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

ALGORITHM/PROGRAMMERS

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

thisisyjin 2022. 7. 7. 11:41

javascript

문제 설명

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

제한 조건

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

예시

입출력 예

n    return
12    28
5    6

입출력 예 설명

입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.

입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.


내가 작성한 코드

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

약수는 1부터 n까지 범위 안에 있으므로 1~n까지 1씩 증가시키며 나누어 떨어지면 answer에 추가한다.

실행 결과

테스트 1 〉    통과 (0.03ms, 29.7MB)
테스트 2 〉    통과 (0.04ms, 30.2MB)
테스트 3 〉    통과 (0.06ms, 30MB)
테스트 4 〉    통과 (0.05ms, 30.2MB)
테스트 5 〉    통과 (0.11ms, 30.1MB)
테스트 6 〉    통과 (0.11ms, 30.2MB)
테스트 7 〉    통과 (0.13ms, 30.2MB)
테스트 8 〉    통과 (0.05ms, 30.2MB)
테스트 9 〉    통과 (0.09ms, 30.2MB)
테스트 10 〉    통과 (0.13ms, 30MB)
테스트 11 〉    통과 (0.08ms, 30.2MB)
테스트 12 〉    통과 (0.09ms, 29.9MB)
테스트 13 〉    통과 (0.04ms, 30MB)
테스트 14 〉    통과 (0.15ms, 30MB)
테스트 15 〉    통과 (0.09ms, 30MB)
테스트 16 〉    통과 (0.05ms, 30.1MB)
테스트 17 〉    통과 (0.15ms, 30.1MB)