이진탐색1 파이썬(Python) - 이분탐색(이진탐색) / bisect 이진 탐색(이분 탐색) 정렬된 상태의 리스트에서 탐색범위를 반으로 줄여가며 데이터를 탐색하는 방법 리스트가 반드시 정렬된 상태여야만 한다. lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 오름차순으로 정렬된 상태 num = 7 # 정렬된 상태를 유지하며 배열에 추가할 요소 left = 0 # 왼쪽 기준 인덱스 right = len(lst)-1 # 오른쪽 기준 인덱스 while left= num: right = mid - 1 result = mid else: left = mid + 1 print(result) # 7 각 양끝의 인덱스를 기준으로 잡고 가운데 인덱스를 비교값을 삼아 범위를 반씩 줄여나가는 방식 절반씩 범위를 줄여가기에 O(logN)이 성립! bisect - .. 2022. 4. 12. 이전 1 다음