나의 풀이
function solution(A, B, C) {
let start = 0;
let end = C.length-1;
let mid;
let answer = -1;
while(start <= end) {
mid = Math.floor((start+end)/2);
if (check(A,B,C,mid)) {
end = mid-1;
answer = mid+1;
} else {
start = mid+1;
}
}
return answer;
}
function check(a, b, c, num) {
var pNails = new Array(2*c.length + 1).fill(0);
for (var i = 0; i <= num; ++i) {
++pNails[c[i]];
}
for (i = 1; i < pNails.length; ++i) {
pNails[i] += pNails[i-1];
}
for (i = 0; i < a.length; ++i) {
if (pNails[b[i]] <= pNails[a[i]-1]) return false;
}
return true;
}