두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
1 ≤ left ≤ right ≤ 1,000
left | right | result |
---|---|---|
13 | 17 | 43 |
24 | 27 | 52 |
function solution(left, right) { let answer = 0 for (let i = left; i <= right; i++) { if(Number.isInteger(Math.sqrt(i))){ answer -= i }else { answer += i } } return answer }
left
부터 right
까지 모든 수들의 약수의 개수가 짝수인지 홀수인지 판별하기 위해 for
를 통해 i
가 left
부터 right
가 될때 까지 반복해준다.
약수의 개수는 정수인 제곱근이 있으면 홀수 없으면 짝수이다.
정수인 제곱급이 있으면 빼주고 없으면 더해준 값을 반복문이 끝나면 리턴해준다.