티스토리 뷰

반응형

이번에는 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 는 알고리즘에 대해 공부를 많이해야겠다는 생각을 하게되네요.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함