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

업데이트:

문제 설명

두 정수 left와 right가 매개변수로 주어집니다.
left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.



  • 제한 조건

1 ≤ left ≤ right ≤ 1,000


  • 예시

image




풀이

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

        while(left<=right){
            for(int j=1; j<=left; j++){
                if(left%j ==0){
                    count++;
                }
            }

            if(count%2==0)  answer += left;
            else  answer -= left;
            count = 0;
            left++;
            
        }
        
        return answer;
    }
}


약수의 개수를 나타낼 count 변수를 선언한 후 약수가 발생할 때 마다 증가하게 구현했다.
left의 약수 계산이 완료되면 count를 다시 0으로 선언하고, left를 증가시켜 right까지 반복한다.




댓글남기기