이분 탐색

#이분 탐색 #매개 변수 탐색

이진 탐색 기본 코드

data_list = [66, 65, 18, 71, 11, 10, 42, 68, 36, 89]
data_list.sort()

def binary_search(data, search):
    print (data)
    if len(data) == 1 and search == data[0]:
        return True
    if len(data) == 1 and search != data[0]:
        return False
    if len(data) == 0:
        return False
    
    medium = len(data) // 2
    if search == data[medium]:
        return True
    else:
        if search > data[medium]:
            return binary_search(data[medium+1:], search)
        else:
            return binary_search(data[:medium], search)

binary_search(data_list, 66)

이분 탐색

백준 2110번 : 공유기 설치

1. 풀이

첫 풀이에서 start를 start = array[1]-array[0]로 설정했는데 틀렸다고 처리하길래 1로 바꾸었더니 통과했다. 이분 탐색에서 시작 지점을 주의할 수 있도록 하자.


백준 1939번 : 중량제한

1. 풀이

Last updated