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

JJJ·2023년 5월 15일
0
post-custom-banner


풀이

class Solution {
    public int solution(int a, int b) {
        int x=Math.max(a,b);
        int y=Math.min(a,b);
        while(x%y!=0){
            int r=x%y;
            x=y;
            y=r;
        }
        b/=y;
        while(true){
            if(b%2==0){
                b/=2;
            }else if(b%5==0){
                b/=5;
            }else if(b==1) {
                return 1;
            }else{
                return 2;
            }
        }
    }
}

풀이방법
1) 유클리드 호재법으로 최대공약수 y를 구한다
2) 분모에 해당하는 b를 y로 나누어 기약분수의 형태로 만든다
3) 유한소수는 소인수를 2와5를 갖는다(2,5로 나누었을 때 0)

profile
Think Talk Act
post-custom-banner

0개의 댓글