인천의 자유인

[JAVA] 유한소수 판별하기 - 프로그래머스 본문

Python/Python코딩테스트

[JAVA] 유한소수 판별하기 - 프로그래머스

Youngook 2024. 5. 7. 07:00
728x90
반응형

 

나의 문제 풀이

class Solution {
    public int solution(int a, int b) {
        for (int i = 2; i <= a+1; i++){
            if (a%i == 0&& b%i == 0){        
                a = a / i;
                b = b / i;
            }
        }
        for (int i = 2; i <= b; i++) {
            if (i%2 == 0 || i%5 == 0) {
                continue;
            } 
            if (b%i == 0){
                return 2;
            }
        }
        return 1;
    }
}

 

첫번째 for문 a와 b모두가 나누어 질수 있을때 하나씩 나눠줍니다. 즉 기약분수로 만드는 것입니다.

 

첫번째 for문이 완성되면 이젠 두번째 for문으로 가게 되는데 두번째 for문에서는 i가 2로 나누어 지거나 5로 나누어지면 continue로 넘어가는데 만약 나누어지는 수가 2나 5가 아니면 무한소수이므로 return 2를 해줍니다. for문이 끝날때 까지 2나 5로 나누어지는 것만 있으면 return 1를 하여 수행을 종료합니다.

728x90
반응형