알고리즘 풀이/프로그래머스

[level1] 프로그래머스 - 약수의 개수와 덧셈(JAVA)

데롱디롱 2021. 8. 27. 02:06
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;
	}
}