코딩테스트 with JS

결정 알고리즘

재키재키 2022. 5. 4. 18:49

1. 이분 탐색 (binary search)

  • O(n) =logN 으로 굉장히 빠른 탐색 방법
  • 정렬 후에 사용가능 하다. 
function binarySearch(target, arr) {
	// binary search
    let index;
    // arr.sort((a, b) => a - b);
    let left = 0;
    let right = arr.length - 1;
    while (left < right) {
    	let mid = parseInt((left + right) / 2);
        if (arr[mid] < target) {
        	left = mid + 1;
        } else {
			right = mid;
          }
       	if (left == right && arr[left] == target) {
        	return left + 1;
        }
	}
}

 

2. 결정 알고리즘

  • 탐색할 범위를 정한다.
  • 결정 함수를 정의한다.
  • 범위에서 최적의 값을 구한다.