스파르타 (React_6기) 본캠프

2024. 08. 08.(알고리즘 - 약수의 합 구하기)

cha123hein 2024. 8. 8. 20:30

★ 문제

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

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

 

★ 문제 해결 과정

우선 약수를 구할려면 약수는 n을 나눴을 때 나머니가 없는 값이라고 생각했다. 

1. 1부터 n까지의 값에 들어가는 수를 i라고 했을 때

2. n%i의 나머지가 0인 값만 추려낸다.

3. 그 값들을 더한다.

 

★ 제출한 문제 답안

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