class Solution {
public int solution(int n) {
int slice = 6;
int lcm = (n * slice) / gcd(n, 6);
return lcm / slice;
}
public static int gcd(int a, int b) {
if (a <= b) {
int temp = a;
a = b;
b = temp;
}
if (b == 0) {
return a;
}
return gcd(b, (a % b));
}
}
지난번에 익혔던 유클리드 호제법이 생각보다 유용하게 잘 쓰이는 듯 하다.
이번에는 최소공배수가 필요하였는데 최소공배수의 경우
LCM = (a * b) / GCD(a, b)
의 식으로 표현 가능하다.