약수의 개수와 덧셈

박서현·2023년 8월 22일
0
post-thumbnail

🐥약수의 개수와 덧셈

문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.


제한사항
1 ≤ left ≤ right ≤ 1,000




🔸나의 풀이

function solution(left, right) {
    let result = 0
    for(let i = left; i <= right; i++) {
        let count = 0
        for(let j = 1; j <= i; j++) {
            if(i % j === 0){ //약수라면
                count++
            }
        }

        if(count % 2 === 0) {
            result += i
        } else {
            result -= i
        }
    }

    return result;
}

🔹다른 사람 풀이

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;
}



🐷

약수의 개수를 Math.sqrt()를 사용하여 구했다.
Math.sqrt()를 사용하여 규칙을 구하는 문제들에서 어려워하는것같다. 반복해서 보면서 익혀야겠다.

0개의 댓글