코딩테스트 준비하기 - 43일차
풀이코드
//10. 이분검색
function solution(target, arr) {
//방법 1
// let answer = arr;
// arr = arr.sort((a, b) => a - b);
// let result;
// for (i = 0; i < arr.length; i++) {
// if (arr[i] === target) result = i + 1;
// }
// return result;
//방법 2
let answer;
arr = arr.sort((a, b) => a - b);
let lt = 0;
let rt = arr.length - 1;
while (lt <= rt) {
let mid = parseInt((lt + rt) / 2);
if (arr[mid] === target) answer = mid + 1;
else if (arr[mid] > target) rt = mid - 1;
else lt = mid + 1;
}
return answer;
}
let arr = [23, 87, 65, 12, 57, 32, 99, 81];
console.log(solution(32, arr));
Author And Source
이 문제에 관하여(코딩테스트 준비하기 - 43일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@starkdy/코딩테스트-준비하기-43일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)