n = int(input())
A = sorted(list(map(int, input().split())))
m = int(input())
R = list(map(int, input().split()))
def search(arr, num, start, end):
if start > end:
return 0
m = (start+end)//2
if num == arr[m]:
return 1
elif num > arr[m]:
return search(arr, num, m+1, end)
else:
return search(arr, num, start, m-1)
for i in R:
print(search(A, i, 0, n-1))
다른 블로그 해설을 보다가 더 빠른 풀이가 있었음.
n = int(input())
A = set((map(int, input().split())))
m = int(input())
R = list(map(int, input().split()))
for i in R:
print('1') if i in A else print('0')
python 자료형 list,set,dictionary 속도에 대해서 정리해야할듯