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

응큼한포도·2023년 11월 4일
0

코딩테스트

목록 보기
6/31
class Solution {
    public int solution(int a, int b) {
        
        int answer = 0;
        int c = a;
        int d = b;
        while (d != 0) {
            int temp = d;
            d = c % d;
            c = temp;
        }
        b = b / c;
        while (b % 2 == 0) {
            b /= 2;
        }
        while (b % 5 == 0) {
            b /= 5;
        }
        if (b == 1) {
            return 1;
        }
        return 2;
    }
}

유클리드 호제법을 이용해서 a, b의 최대공약수를 구하고 b에 나눠줘서 기약분모로 만든다. 그런 다음 b가 2, 5로만 계속 나눌 수 있으면 1이 되고 아니면 1이 안되니 조건문 사용해서 답을 구해준다.

profile
미친 취준생

0개의 댓글