코딩테스트/lv0

[프로그래머스 코딩테스트] java Lv.0 유한소수 판별하기

chantleman 2024. 8. 20. 18:19

    class Solution {
        public int solution(int a, int b) {

            int num = b/gcd(a,b);
            while(num!=1)
            {
                if(num%2==0) num/=2;
                else if(num%5==0) num/=5;
                else return 2;
            }

            return 1;
        }

        public int gcd(int a, int b)
        {
            if(a>b)
            {
                int c=a;
                a=b;
                b=c;
            }

            int result = 0;
            for(int i=1;i<=a;i++)
            {
                if(a%i==0 && b%i==0) result=i;
            }
            return result;
        }
    }

 

메소드 만들어서 했지만 유클리드 호제법을 사용하면 쉽게 풀 수 있음