function binarySearch(arr, num) {
let last = arr.length - 1
let first = 0
let count = 0;
let middle = Math.floor((last + first) / 2);
console.log("middle", middle)
while (arr[middle] !== num && first <= last ){
count += 1
console.log("count: ", count)
console.log('first', first, "middle", middle, 'last', last)
if(arr[middle] >= num){
if(arr[middle] === num) return middle;
if(arr[first] === num) return first;
last = middle - 1;
middle = Math.floor((last + first) / 2);
}else if (arr[middle] < num){
first = middle + 1;
if(arr[first] === num) return first;
if(arr[last] === num ) return last;
middle = Math.floor((last + first) / 2);
}
}
console.log('first', first, "middle", middle, 'last', last)
if(arr[middle] !== num) return -1;
return middle;
}
์ด์ง ํ์ ํธ๋ฆฌ ๋๋ฌด ์ด๋ ต๋ค..
-1 ์ ๋ฐํํด์ผ ํ ๋์ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ ๋์ฌ ์ ์๋ ์กฐ๊ฑด์ ์ฐพ๋๊ฒ ์ด๋ ค์ ๊ฒฐ๊ตญ ๋ต์ ๋ณด๊ณ ์ ์ ์์๋ค.
function nav (str,find) {
let count = 0
for (let i = 0; i < str.length; i++){
for(let j = 0; j < find.length; j++){
if(find[j] !== str[i+j]){
break;
}
if(j === find.length-1) {
count ++;
}
}
}
return count;
}
console.log(nav('stttttttrre', 'rr'))
console.log(nav('sttttrttrre', 'tr'))