-
[level1] - 약수의 합programmers/level1 2020. 7. 25. 13:55
문제 설명 :
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
입출력 예
n return 12 28 5 6 접근 방법 :
이 문제는 약수를 구해서 모두 더한 값을 반환하면 되는 아주 간단한 알고리즘 문제이다.
약수란?
어떤 수를 나누었을 때 나머지가 0인 수를 말한다.
주어진 수 N이 있으면 1부터 N까지의 수를 하나씩 나눴을 때, 나머지가 0이면 그것이 약수인 것이다.
필자는 약수를 구하기 위해 반복문을 통해서 나누는 수의 조건을 1 <= N까지로 잡았고, 반복문이 돌면서 순서대로 N을 1부터 N까지 나눈다.
N / 1~N까지 나눌 때, 나머지가 0이면 그 수는 약수이기 때문에 해당 수를 answer에 더한다.
결과적으로 반복문이 모두 완료가 되면, 약수를 모두 더한 값이 반환된다.
내가 짠 코드 :
function solution(n) { let answer = 0; for(let i = 1; i <= n; i++){ if(n % i === 0){ answer += i; } } return answer; }
'programmers > level1' 카테고리의 다른 글
[level1] - Summer/Winter Coding(~2018) 예산 (0) 2020.09.15 [level1] - 같은 숫자는 싫어 (0) 2020.07.27 [level1] - 최대공약수와 최소공배수(유클리드 호제법) (0) 2020.07.24 [level1] - 평균 구하기 (0) 2020.07.21 [level1] - 짝수와 홀수 (0) 2020.07.20