function solution(n, times){
let left=1;
let right=n*Math.max(...times);
while(left<right){
let count=0;
// 가운데를 찾아서 몇 명 심사하는지 보기
let middle=Math.floor((right+left)/2);
for (let i=0;i<=times.length-1;i++){
count+=Math.floor(middle/times[i]);
}
// n보다 작으면 left를 +1하기
if (count<n){
left=middle+1;
}
// n보다 크면 right를 가운데로 옮기기
else if (count>=n){
right=middle;
}
}
return left;
}
내 코드 설명
주석 참고