학창 시절에 했던 업다운 게임과 유사하다.
Alice : 내 나이 맞춰봐
Bob : 20?
Alice : Up
Bob : 30?
Alice : Down
Bob : 25!
Alice: 정답
데이터의 시작점 = head
데이터의 끝점 = tail
데이터의 중간 = (head + tail) / 2
2-1. 찾고자 하는 값이 작으면 tail을 ( 중간지점 - 1 ) 위치로 이동
2-2. 찾고자 하는 값이 크면 head를 ( 중간지점 + 1) 위치로 이동
def binary_search(data, target):
  start = 0
  end = len(data) - 1
  while start <= end:
    mid_point = round((start + end) / 2)
    if data[mid_point] == target:
      return data[mid_point]
    elif data[mid_point] < target:
      start = mid_point + 1
    
    else:
      end = mid_point - 1
      
data = [ x for x in range(1, 25123)]
target = 5234
import time
t1 = time.time()
print(binary_search(data, target))
t2 = time.time()
print(f"실행시간 : {t2 - t1:.8f}")
