문제
문제점 해결
return 타입이 long 이기 때문에 이 부분을 잘 유의해야 한다.
풀이
class Solution {
public long solution(int n, int[] times) {
long answer = Long.MAX_VALUE;
long st = 0, mid = 0;
long end = (long)times[times.length - 1] * n;
while(st != end){
mid = (st + end) / 2;
long sum = 0;
for(int time : times) sum += mid / time;
if(sum < n) st = mid + 1;
else {
if(answer > mid) answer = mid;
end = mid - 1;
}
}
return answer;
}
}