관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 유한소수 판별하기 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 유한소수 판별하기 (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 28. 23:37
728x90
반응형
소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라 한다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별한다. 두 정수 a, b가 매개변수로 주어질 때, a / b가 유한소수면 1, 무한소수면 2를 리턴하는 solution()을 완성하라

 

 

이젠 이게 레벨 0 문제가 맞는지 의심스럽다. 유한소수 기억도 안 나는 개념이 문제로 나와서 찾아봐도 문제를 풀지 못했다.

 

https://velog.io/@as9587/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%85%EB%AC%B8-%EC%9C%A0%ED%95%9C%EC%86%8C%EC%88%98-%ED%8C%90%EB%B3%84%ED%95%98%EA%B8%B0-JAVA-22%EB%85%84-10%EC%9B%94-12%EC%9D%BC

 

프로그래머스 코딩테스트 입문 유한소수 판별하기 [JAVA] - 22년 10월 12일

 

velog.io

class Solution {
    fun solution(a: Int, b: Int): Int {
        var newB = b / gcd(a, b)
        while (newB != 1) {
            newB /= if (newB % 2 == 0) {
                2
            } else if (newB % 5 == 0) {
                5
            } else {
                return 2
            }
        }
        return 1
    }

    private fun gcd(a: Int, b: Int): Int {
        return if (b == 0) {
            a
        } else {
            gcd(b, a % b)
        }
    }
}

 

반응형
Comments