728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12940
Code
class Solution {
tailrec fun gcd(num1: Int, num2: Int): Int= if(num2 == 0) num1 else gcd(num2, num1 % num2)
fun solution(n: Int, m: Int): IntArray {
val gcd = gcd(n,m)
return intArrayOf(gcd, (n * m / gcd))
}
}
이 문제는 최대공약수, 최소공배수를 구할 수 있냐를 묻는 문제다.
gcd라는 함수는 최대 공약수를 의미하는 Greatest Common Divisor의 약자이다. 일반적으로 저렇게 쓰더라
tailrec를 사용해서 조금이라도 이득을 보고자 했다.
gcd함수로 최대 공약수를, 최대공약수를 활용해서 최대공배수를 구했다.
728x90