프로그래머스 Lv.1 약수의 개수와 덧셈
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function solution(left, right) { let answer = 0; let num = 0; for(let i = left; i <= right; i++) { for(let j = 1; j <= i; j++) { if(i % j === 0) { num++; } } if(num % 2 === 0) { answer += i; } else { answer -= i; } num = 0; } return answer; } | cs |
이중 반복문을 써서
i
가left
부터right
까지 반복하고,j
는 1부터i
까지 반복한다.안쪽 반복문에서 만약
i
를j
로 나눈 나머지가 0이면 약수이기 떄문에num
에 1을 더해 준다.바깥쪽 반복문에서 만약
num
이 짝수이면answer
에i
를 더하고,num
이 홀수이면answer
에i
를 빼준다.
num
은 전역 변수이기 때문에 다시 0을 할당하여 초기화 시켜준다.