https://programmers.co.kr/learn/courses/30/lessons/77884
function solution(left, right) {
let answer=0;
for(let i=left; i<=right; i++){
let cnt=0;
for(let j=1; j<=i; j++){
if(i%j===0) cnt++;
}
if(cnt%2===0) answer+=i;
else answer-=i;
}
return answer;
}
아주 신박한 코드가 있어서 가져왔다.
'제곱근이 정수이면, 약수의 개수가 홀수다'라는 원리를 사용한거라는데... 어떻게 이런걸 생각해내신건지...? 문과에겐 아주 어려운 수학세계💩
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;
}
10/25
두번째 방법 익히기