문제
해설
최소공배수(gcd)와 최대공약수(lcm)을 적절하게 사용해 볼 수 있는 문제로 추천한다.
풀이
import java.util.*;
class Solution {
public int solution(int[] arr) {
int answer = 0;
Arrays.sort(arr);
for(int i = 0; i < arr.length-1; i++){
int res = gcd(arr[i+1], arr[i]);
arr[i+1] = (arr[i] * arr[i+1]) / res;
}
return arr[arr.length-1];
}
static int gcd(int a, int b){
while(b != 0){
int r = a % b;
a = b;
b = r;
}
return a;
}
}