-
728x90
- left ~ right의 숫자만 반복
- 1부터 자신까지의 모든 숫자를 나누어보면서, 약수의 개수를 센다.
- 약수의 개수가 짝수면 자신의 값을 더하고, 홀수면 자신의 값을 뺀다.
class Solution { public int solution(int left, int right) { int answer = 0; for (int i = left; i <= right; i++) { int n = 0; for (int j = 1; j <= i; j++) if (i % j == 0) n++; answer += n % 2 == 0 ? i : -i; } return answer; } }
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[level1] 프로그래머스 - 예산(JAVA) (0) 2021.08.27 [level1] 프로그래머스 - 3진법 뒤집기(JAVA) (0) 2021.08.27 [level1] 프로그래머스 - 실패율(JAVA) (0) 2021.08.27 [level1] 프로그래머스 - 상호 평가(JAVA) (0) 2021.08.27 [level1] 프로그래머스 - 폰켓몬(JAVA) (0) 2021.08.27 댓글