문제1
var search = function(nums, target) {
let lo = 0, hi = nums.length-1;
while (lo < hi) {
let mid = lo + Math.floor((hi-lo+1)/2);
if (target < nums[mid]) {
hi = mid - 1
} else {
lo = mid;
}
}
return nums[lo]==target?lo:-1;
};
문제2
https://leetcode.com/problems/first-bad-version/discuss/606739/JavaScript-clean-binary-search-solution
var solution = function(isBadVersion) {
return function(n) {
let min = null;
let start = 1;
let end = n;
while(start <= end) {
const mid = Math.floor((start + end) / 2);
if(isBadVersion(mid)) {
min = mid;
end = mid - 1;
} else {
start = mid + 1;
}
}
return min;
};
};