https://programmers.co.kr/learn/courses/30/lessons/77884
left부터 right까지의 모든 수들 중에서,
그 숫자의 약수의 개수가 짝수면 더해야 하고 홀수면 빼야 한다.
그렇게 해서 구한 left부터 right까지의 숫자들의 합을 return
1. left부터 right까지 반복문을 돌면서 해당 숫자의 약수가 몇 개인지 확인하기
2. cnt의 값이 짝수이면 answer에 해당숫자를 더해주고, 홀수면 answer에서 해당숫자를 빼준다
function solution(left, right) {
let answer = 0;
for (let num = left; num <= right; num++) {
let cnt = 0;
for (let i = 1; i <= num; i++) {
if (num % i === 0) cnt++;
}
if (cnt % 2 === 0) answer += num;
else answer -= num;
}
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;
}
....수학을 잘하시나보다....