x, y, z 가 있을 때 x, y의 최소 공배수가 a이면 a, z의 최소공배수와 x, y, z의 최소 공배수는 같다는 기본 성질을 활용했다
유클리드 호제법 사용해서 풀고 싶었는데 기억이 안나서 두 수(x, y)의 최소 공배수는 x * y / 최대공약수라는 공식을 사용해 answer의 값을 갱신해주는 방식을 사용했다
import java.util.*;
class Solution {
public int solution(int[] arr) {
if(arr.length == 1){
return arr[0];
}
int x = arr[0];
int answer = 0;
for(int i = 1; i < arr.length; i++){
int y = arr[i];
for(int j = x * y; j > 0; j--){
if((j % x == 0) && (j % y == 0))
answer = j;
}
x = answer;
}
return answer;
}
}
댓글