javascript 약수의 합 구하기

Devback·2020년 8월 11일
0

문제

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

제한사항

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

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

여기서 3가지 부분에서 실수를 해서 시간을 많이 잡았다.
첫 번째는 두 번째 줄에서 let answer;라고 선언을 하면 함수가 제대로 된 값을 호출하지 않는 것이었다. NaN이라고 나오는데.. 흠... 찾아봐도 잘 모르겠다.

두 번째는 5번째 줄에서 return answer += i;라고 써 버리는 바람에 함수가 if문 안에서 끝나버렸다. javascript 개초보는 벗어난 줄 알았는데 여전히 개초보다.

세 번째는 for에서 i < n이라고 작성해서 시간을 잡아먹었다.

참고링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/return

profile
나랑 같이 개발할 사람🖐

0개의 댓글