Study/Java

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

1.jun 2025. 1. 10. 11:32
728x90
반응형

 

 

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

목차
  1. 문제 설명
  2. 입출력 예시
  3. 문제 풀이

 

 


1. 문제 설명

 

 

728x90

 

문제 설명

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

 

 

제한사항

  • 1 ≤ left ≤ right ≤ 1,000

 

 

 

 

 


2. 입출력 예시

 

 

 

 

입출력 예시

#1 

다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.
따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다.

 

#2

다음 표는 24부터 27까지의 수들의 약수를 모두 나타낸 것입니다.
따라서, 24 - 25 + 26 + 27 = 52를 return 해야 합니다.

 

 

 

 

 


3. 문제 풀이

반응형

 

문제 풀이

class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        
        // left부터 right 반복
        for(int i=left; i<=right; i++){
            // 약수 개수 구하기
            int temp = 0;
            for(int j=1; j<=i; j++){
                if(i%j==0){
                    temp++;
                }
            }
            // 약수의 개수가 짝수이면 더하고 아니면 빼기
            if(temp%2==0){
                answer += i;
            } else {
                answer -= i;
            }
        }
        
        return answer;
    }
}

 

 

 

 

728x90
반응형