반응형
Notice
Recent Posts
Archives
Today
Total
Link
관리 메뉴

꾸준하게

[JS코딩테스트] 약수의 합 본문

JS코딩테스트

[JS코딩테스트] 약수의 합

DaeunCoding 2023. 3. 20. 07:09
728x90
반응형

[나의 풀이]

function solution(n) {
    let answer = 0;
    for(let i = 1; i <= n; i++){
        if(Number.isInteger(n / i)){
            answer += n / i;
        }
    }
    return answer;
}

* Number.isInteger()

정수인지 판별해주는 메서드.

 

[다른 풀이]

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

이 생각을 못했다.

나머지 값이 0인 값이 약수인데, 그 방법이 생각나질 않아서 Number.isInteger()를 썼다.

 

내 방식에 이 방법을 넣어보자.

 

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

if문 조건에 n%i === 0을 넣어도 되지만, 같은 값을 반환하는 !n%i로 대체했다.

728x90
반응형