
이분 탐색(Binary Search)
- 이분 탐색: 정렬된 배열에서 특정한 값을 찾는 알고리즘, 중간보다 큰지(작은지)를 비교하여 값을 찾는다.
def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid # 찾은 경우 인덱스 반환 elif arr[mid] < target: left = mid + 1 # 탐색 범위를 오른쪽으로 이동 else: right = mid - 1 # 탐색 범위를 왼쪽으로 이동 return -1 # 찾지 못한 경우