PS:0

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

Juliie 2020. 8. 25. 22:11

링크

programmers.co.kr/learn/courses/30/lessons/12928

 

코딩테스트 연습 - 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수

programmers.co.kr


문제 설명

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


제한 사항

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

문제 풀이

1) 코드 설명

 (1) 변수 answer를 n으로 초기화한다(모든 수는 자기 자신을 약수로 갖기 때문에)

 (2) for문을 이용해서 나머지 연산을 수행하고, 만약 나머지가 0이라면 answer에 해당 값을 더해준다.

 

2) 코드

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