반응형
import sys
def binary_search(find_list, item, start, end):
if start > end:
print(0)
else:
mid = int((start+end)/2)
if item == find_list[mid]:
print(1)
elif item < find_list[mid]:
end = mid -1
return binary_search(find_list, item, start, end)
elif item > find_list[mid]:
start = mid + 1
return binary_search(find_list, item, start, end)
if __name__ == '__main__':
N = int(input())
A = sorted(list(map(int,sys.stdin.readline().split())))
M = int(input())
B = list(map(int,sys.stdin.readline().split()))
for i in B:
binary_search(A, i, start=0, end=N-1)
위 문제를 그냥 풀려고 하면
시간 초과가 됩니다.
따라서 Binary search(이진 탐색) 알고리즘을 사용하여야 합니다.
그에 대한 내용은 아래의 링크에 있습니다.
반응형