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

Jiwoo·2024년 5월 22일
0

Java

목록 보기
13/25

📌 약수의 개수와 덧셈

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

문제 설명

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

제한사항

1 ≤ left ≤ right ≤ 1,000

입출력 예

left right result
13 17 43
24 27 52
class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        for (int i = left; i <= right; i++) {
            int cnt = 0; // 약수 개수 세기 위한 변수
			// 약수 구하기
            for (int j = 1; j <= i; j++) {
                if (i % j == 0) {
                    cnt++; // j가 i의 약수면 cnt 증가
                }
            }
            if (cnt % 2 == 0)
                answer += i; // 짝수면 i를 answer에 더함
            else
                answer -= i; // 홀수면 뺌
        }
        return answer;
    }
}

0개의 댓글