[프로그래머스] 약수의 개수와 덧셈 - JavaScript

이은빈 EUNBIN·2021년 6월 27일
2
post-thumbnail

📌 문제

https://programmers.co.kr/learn/courses/30/lessons/77884



📌 풀이

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

function solution(left, right) {
    let answer = 0;
    
    for(let i = left; i <= right; i++) {
        let count = divisors(i);          
        if (count % 2 === 0) {
            answer += i;
        } else {
            answer -= i;
        }      
    }   
    
    return answer;
}
// 다른 분의 풀이
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;
}
profile
Frontend Engineer & Value Creator

0개의 댓글