포스트

[알고리즘] 바이너리 서치(Binary Search)는 언제 어떻게 쓰는지.

  • 찾으려는 값이 더 크면 mid 보다 큰 구간으로 다시 구간을 설정해서 mid를 다시 계산한다.
  • 찾으려는 값이 더 작으면 mid 보다 작은 구간으로 다시 구간을 설정해서 mid를 다시 계산한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    
    while left <&#x3D; right:
        mid &#x3D; (left + right) // 2
        if arr[mid] &#x3D;&#x3D; target:
            return mid  # 인덱스 반환
        elif arr[mid] < target:
            left &#x3D; mid + 1
        else:
            right &#x3D; mid - 1
    
    return -1  # 못 찾은 경우

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.