[알고리즘] 바이너리 서치(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 <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid # 인덱스 반환
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1 # 못 찾은 경우
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.