알고리즘(Algorithm)/프로그래머스(Programmers)

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

나아가는중 2021. 10. 23. 13:40
반응형

프로그래머스 약수의 개수와 덧셈 - JAVA


문제 설명

  1. 두 정수 left와 right가 매개변수로 주어진다.
  2. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 retrun.

제한 사항

  1. 1 ≤ left ≤ right ≤ 1,000

문제 풀이

  1. left부터 right까지 for문으로 순회.
  2. 약수의 개수가 홀수인 경우는 제곱 수인 경우이므로 그 경우 빼고, 아닌 경우 더한다.

소스 코드

class Solution {
    public int solution(int left, int right) {
        int answer = 0;

        for (int i = left; i <= right; i++) { // 1
            if (i % Math.sqrt(i) == 0) { // 2
                answer -= i;
            } else {
                answer += i;
            }
        }

        return answer;
    }
}
반응형