대표적인 사례
n * Math.max(...times)
로 설정한다30/7 + 30/10
의 결과인 7명이다r = mid - 1
, 작다면 l = mid + 1
의 과정을 거쳐 최선의 결과를 찾는다function solution(n, times) {
let l = 1;
let r = n * Math.max(...times);
while (l <= r) {
const mid = Math.floor((l + r) / 2);
const completedCnt = times.reduce((acc, cur) => acc + Math.floor(mid / cur), 0);
completedCnt >= n ? (r = mid - 1) : (l = mid + 1);
}
return l;
}