[프로그래머스] 약수의 개수와 덧셈 (javascript/자바스크립트)

스카치·2023년 2월 14일
0

// 풀이 1
function solution(left, right) {
    var answer = 0;
    for (let i=left; i<=right; i++) {
        gcd(i) % 2 === 0 ? answer += i :  answer -= i
    }
    return answer;
}

function gcd(n){
    let cnt = 0
    for (let j=1; j<=n; j++){
        if (n % j === 0) cnt++
    }
    return cnt
    
}

// 풀이 2
// 제곱근이 정수면 약수의 갯수가 홀수인 점을 이용한 풀이
function solution(left, right) {
    var answer = 0;
    for (let i = left; i <= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}

0개의 댓글