import java.util.Arrays;
class Solution {
public long solution(int n, int[] times) {
long answer = 0;
Arrays.sort(times);
long min = 1;
long max = (long)n*times[times.length-1];
long mid; long sum;
while(min <= max) {
mid = (min+max)/2;
sum=0;
for(int i=0; i<times.length; i++) {
sum+=mid/times[i];
}
//더 줄일 수 있음
if(sum >= n) {
max = mid - 1;
answer = mid;
}
else {
min = mid + 1;
}
}
return answer;
}
}
모든 변수를 long으로 맞추고 나서야 합격했다.
타입 변환에 신경쓰자