본문 바로가기
알고리즘

[코딩 테스트] Level. 2 N개의 최소공배수 (코틀린)

by 개발_블로그 2023. 8. 16.
반응형

이번에는 N개의 최소 공배수 문제를 풀어보았습니다. 

다른분들과 비슷하게 풀었는데 이게 깔끔해서 이 코드로 대체했습니다! 

private fun solution(arr: IntArray): Int {
    var answer = arr[0]

    for (i in 1 until arr.size) {
        answer = lcm(answer, arr[i])
    }
    return answer
}

//최소 공배수
private fun lcm(a: Int, b: Int): Int = a * b / gcd(a, b)
//최대 공약수
private fun gcd(a: Int, b: Int): Int = if (b != 0) gcd(b, a % b) else a

 

 

최소 공배수 , 최대공약수 알고리즘을 알고있으면 풀이가 그래도 쉬워졌습니다. 

확실히 Level.2 는 알고리즘에 대해 공부를 많이해야겠다는 생각을 하게되네요.

반응형