반응형
이번에는 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 는 알고리즘에 대해 공부를 많이해야겠다는 생각을 하게되네요.
반응형
'알고리즘' 카테고리의 다른 글
완전탐색 알고리즘. (0) | 2024.02.24 |
---|---|
깊이 우선 탐색(DFS) 너비 우선 탐색 (BFS) 에 대하여. (3) | 2023.08.17 |
[코딩 테스트] Level. 2 JadenCase 문자열 만들기 (코틀린) (0) | 2023.08.07 |
[코딩 테스트] Level. 2 하노이의 탑 (코틀린) (0) | 2023.07.27 |
[코딩 테스트] Level. 1 추억 점수 (코틀린, Kotlin) (2) | 2023.07.08 |