약수의 합

RyuIsangGo🤘·2023년 8월 21일
0

문제

나의코드

const solution = (n) => {
    let result = 0;
    for(let i = 1; i <= Math.sqrt(n) ; i++) {
        if(n % i === 0){
            if(i !== Math.sqrt(n)) {
                result += n/i;
            }
            result += i;
        }
    }
    return result;
}

로직흐름

1부터 n의 제곱근까지 반복한다.
만약 현재 순회하는 요소가 n의 약수라면 n 나누기 현재 요소의 몫과 현재 요소를 더한다.
단, 현재 순회하는 요소가 n의 제곱근이라면 현재 요소 한번만 더해준다.

profile
이전 블로그 입니다.

0개의 댓글