[programmers] 약수의 개수와 덧셈 - JAVA

백지현·2024년 4월 10일

Programmers

목록 보기
9/16
post-thumbnail

📌문제

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

📌제한사항

  • 1 ≤ leftright ≤ 1,000

📌입출력 예

leftright
1317
2427

📌코드

class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        
        for(int i = left; i <= right; i++) {
            int cnt = 1;
            for(int j = 1; j <= i / 2; j++) {
                if(i % j == 0) cnt++;
            }
            if(cnt % 2 == 0) answer += i;
            else answer -= i;
        }
        return answer;
    }
}

📌문제풀이

  • left에서 right만큼 반복문을 돌리며 약수의 수를 구한다
  • num(약수)이 짝수라면 answer에 수를 더하고, num이 홀수면 answer에 수를 뺀다

0개의 댓글