
배열의 가장 큰 수의 배수 중, 배열의 가장 큰 수를 제외한 나머지 값들을 각각 나누었을 때의 나머지가 모두 0인 배수 중에서 가장 작은 수가 답이다.
그래서 배열의 가장 큰 수부터 차례대로 배열의 가장 큰 수를 제외한 나머지 값들을 각각 나눈다. 모든 나머지가 0일 때, 해당 값을 Return 한다.
하나라도 나머지가 0이 아닐 경우에는 배열의 가장 큰 수의 다음 배수를 똑같이 반복한다.
import java.util.*;
class Solution {
public int solution(int[] arr) {
// 최댓값 찾기
Arrays.sort(arr);
int max = arr[arr.length-1];
int mul = 1;
while(true) {
int num = max*mul;
boolean isMul = true;
for (int i = 0; i < arr.length-1; i ++) {
if (num % arr[i] != 0) {
isMul = false;
break;
}
}
if (isMul) {
return num;
}
mul += 1;
}
}
}
