유한소수 판별하기 Lv. 0

박영준·2023년 8월 24일
0

코딩테스트

목록 보기
292/300
class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int solution(int a, int b) {
        int answer = 1;
        int max = 0;
        
        // 분자/분모를 기약분수로 만들기 위해 나눠줄 수 max 구하기
        for (int i = 1; i <= a; i++) {
            if (a % i == 0 && b % i == 0) {
            	max = i;
            }    
        }

		// b 를 기약분수의 분모로 만들기
        b /= max;

		// 유한소수 판별
        while (1 < b) {
            if (b % 2 == 0) {
                b /= 2;
            } else if (b % 5 == 0) {
                b /= 5;
            } else {
                return 2;
            }
        }

        return answer;
    }
}

유한소수 판별

  • b 가 2와 5가 되도록 while 반복문을 돌려서 사이클마다 계속 판단을 해줘야 한다.

유한소수 판별하기 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글