function solution(target, arr){
let answer;
arr.sort((a, b)=>a-b);
let lt=0, rt=arr.length-1;
while(lt<=rt){
let mid=parseInt((lt+rt)/2);
console.log("mid:", mid);
if(arr[mid]===target){
answer=mid+1;
break;
}
else if(arr[mid]>target) rt=mid-1;
else lt=mid+1;
console.log("lt:",lt,"rt",rt,"answer",answer);
}
return answer;
}
let arr=[23, 87, 65, 12, 57, 32, 99, 81];
console.log(solution(12, arr));
위와같은 방식으로 하면 시간을 획기적으로 줄일 수 있다.
arr.length가 작으면 for문을 돌려 하나하나 확인해도 되지만, arr.length가 1,000,000까지 가능하므로 너무 많은 수가 나오면 for문만으로는 시간초과가 된다.