문제
N개의 숫자가 들의 최소공배수를 구하는 문제
풀이 과정
숫자 2개씩 순차적으로 최소공배수를 구한다.
최소공배수 : A * B / 최대공약수
코드
class Solution {
fun solution(arr: IntArray): Int {
var answer = arr[0]
arr.forEach{
answer = lcm(answer, it)
}
return answer
}
//최소 공배수
fun lcm(a:Int, b:Int) = a * b / gcd(a, b)
//최대 공약수
fun gcd(a:Int, b:Int):Int{
return if (a < b){
if (a == 0) b else gcd(a, b % a)
}
else{
if (b == 0) a else gcd(b, a % b)
}
}
}
'코딩 테스트 > Lv.2' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 with Kotlin (0) | 2024.03.05 |
---|---|
[프로그래머스] K진수에서 소수 개수 구하기 with Kotlin (0) | 2023.11.30 |
[프로그래머스] 괄호 회전하기 with Kotlin (0) | 2023.11.07 |
[프로그래머스] 귤 고르기 with Kotlin (0) | 2023.11.07 |
[프로그래머스] 카펫 with Kotlin (0) | 2023.11.07 |