이분 탐색
#이분 탐색 #매개 변수 탐색
이진 탐색 기본 코드
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로 바꾸었더니 통과했다.
이분 탐색에서 시작 지점을 주의할 수 있도록 하자.
이분 탐색 + 너비 우선 탐색(Breadth First Search)
백준 1939번 : 중량제한
1. 풀이
Last updated