bisect

    [Python] bisect_left, bisect_right

    안녕하세요! 오늘은 python 이 기본 제공하는 이진 탐색 알고리즘을 구현한 bisect 모듈에 대해 알아보겠습니다. 1. 이진 탐색 먼저 이진 탐색이란 탐색 범위를 절반씩 좁혀나가면서 데이터를 탐색하는 알고리즘 입니다. 특히 데이터가 정렬된 상태일 때, 우수한 성능으로 탐색 합니다. 예를 들어 [1, 2, 3, 4, 5, 6, 7, 8, 9] 이라는 배열에서 Target = 3이라면 1. Middle 값을 기준으로 Target 값이 작은지 큰지 비교합니다. 2. 5 (Middle) > 3 (Target) : 기준 값보다 작으므로 5보다 큰 값들은 비교하지 않고 작은 값 들만 비교합니다. 3. [1, 2, 3, 4] 배열의 중간 값을 기준으로 또 비교를 하는데 4. 여기선 3이 middle이라 치면 t..