약수의 개수와 덧셈
function solution(left, right) {
let answer = 0;
for (let num = left; num <= right; num++) {
let divisorCount = 0;
for (let i = 1; i <= num; i++) {
if (num % i === 0) {
divisorCount++;
}
}
if (divisorCount % 2 === 0) {
answer += num;
} else {
answer -= num;
}
}
return answer;
}
=>
1. 초기 변수 answer를 0으로 설정.
2. left부터 right까지의 수를 하나씩 확인하기 위해 반복문을 사용.
변수 num을 left로 초기화하고 num이 right 이하일 때까지 반복.
3. 변수 divisorCount를 0으로 초기화. (각 수 num에 대해 약수의 개수를 구하기 위해)
4. 1부터 num까지의 수를 하나씩 확인하기 위해 반복문을 사용. 변수 i를 1로 초기화하고 i가 num 이하일 때까지 반복.
5. 만약 num을 i로 나눈 나머지가 0이라면 (num % i === 0), i는 num의 약수이므로 divisorCount를 증가.
6. 약수의 개수가 짝수인지 홀수인지 판별하기 위해 divisorCount를 2로 나눈 나머지를 확인.
7. 만약 divisorCount가 0이라면 (divisorCount % 2 === 0), num의 약수 개수가 짝수이므로 num을 answer에 더함.
8. 그렇지 않으면 (divisorCount % 2 !== 0), num의 약수 개수가 홀수이므로 num을 answer에서 뺌.
9. 반복문이 종료되면 최종적으로 계산된 answer를 반환.