두 정수 left와 right가 매개변수로 주어집니다.
left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고,
약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
//약수의 개수를 구하는 함수
function divisor(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 result = divisor(i);
result % 2 === 0 ? answer += i : answer -= i
}
return answer;
}
먼저 약수의 개수를 구해야 덧셈을 해야하는지 뺄셈을 해야하는 확인이 가능하기때문에
함수 divisor
를 통해서 해당 수의 약수개수를 count
에 담고
함수solution
에서는 divisor
함수를 통해 얻은 약수개수를 result
에 담은 뒤
result
에 담겨진 수를 삼항연산자로 계산하여 짝수일경우에는 덧셈을 홀수일경우에는 뺄셈을 해주었다.