[typescript] 반복문을 사용한 데이터 검색

이번에는 TypeScript에서 반복문을 사용하여 데이터를 검색하는 방법에 대해 알아보겠습니다.

  1. 선형 검색
  2. 이진 검색

선형 검색은 리스트를 처음부터 끝까지 하나씩 비교하면서 원하는 값을 찾는 검색 알고리즘입니다.

function linearSearch(arr: number[], target: number): number {
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === target) {
            return i;
        }
    }
    return -1;
}

위의 코드에서 arr은 숫자 배열이고, target은 찾고자 하는 값입니다. 이 함수는 배열을 처음부터 끝까지 탐색하면서 원하는 값이 나올 때 해당 인덱스를 반환하고, 만약 찾지 못했을 때는 -1을 반환합니다.

이진 검색은 리스트가 이미 정렬되어 있다는 가정 하에 중간 값과 비교하여 탐색 범위를 반으로 줄여가면서 원하는 값을 찾는 검색 알고리즘입니다.

function binarySearch(arr: number[], target: number): number {
    let low = 0;
    let high = arr.length - 1;

    while (low <= high) {
        let mid = Math.floor((low + high) / 2);
        
        if (arr[mid] === target) {
            return mid;
        } else if (arr[mid] < target) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }
    return -1;
}

위의 코드는 오름차순으로 정렬된 배열에서 이진 검색을 수행하는 함수입니다. arr은 숫자 배열이고, target은 찾고자 하는 값입니다.

이 두 가지 검색 알고리즘을 사용하여 데이터를 검색할 수 있습니다. 데이터의 크기와 정렬 여부에 따라 알고리즘을 선택하여 효율적인 검색을 수행할 수 있습니다.

더 자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.