이분 탐색(Binary Search)을 활용해 n명의 입국 심사를 가장 빨리 마치는 시간을 찾는 문제
n명 이상인지 확인하고, 이분 탐색 범위를 조정해 나가며 정답을 찾는다.class Solution {
public long solution(int n, int[] times) {
long left = 1;
long right = (long) times[times.length - 1] * n;
long answer = right;
while(left <= right) {
long mid = (left + right) / 2;
long sum = 0;
for(int time : times) {
sum += mid / time;
}
if(sum >= n) {
answer = mid;
right = mid - 1;
} else {
left = mid + 1;
}
}
return answer;
}
}