본문 바로가기

Programmers

[Java] 프로그래머스 : 약수의 개수와 덧셈

📌 문제

https://programmers.co.kr/learn/courses/30/lessons/77884

 

코딩테스트 연습 - 약수의 개수와 덧셈

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

programmers.co.kr

 

📌 코드

package programmers;

public class Pro_220528 {   // 약수의 개수와 덧셈
    public static int solution(int left, int right) {
        int answer = 0; // 리턴 할 값

        for (int i = left; i <= right; i++) {   // left ~ right 까지 반복
            int count = 0;  // 약수 개수 세기 위한 저장공간
            for (int j = 1; j <= i; j++) {  // 약수 구하는 로직
                if (i % j == 0) {
                    count++;
                }
            }
            if (count % 2 == 0) {   // 짝수면 값을 더해준다.
                answer += i;
            } else {
                answer -= i;    // 홀수면 값을 뺀다.
            }
        }
        return answer;
    }


    public static void main(String[] args) {
    	// 도움 코드
        int left = 24;
        int right = 27;

        System.out.println(solution(left, right));
    }
}