아이디어
- 이진 탐색을 진행하기 위해 정렬 작업을 진행해줘야 함
- 타겟값 발견시 mid 반환, 발견 못하면 None 반환
코드
import sys
def binary(array,target,start,end):
while(start <= end):
mid = (start+end)//2
if array[mid] == target:
return mid
elif array[mid] > target:
end = mid - 1
else:
start = mid + 1
return None
def fnote():
N = int(sys.stdin.readline())
note1 = list(map(int,sys.stdin.readline().split()))
note1.sort()
M = int(sys.stdin.readline())
note2 = list(map(int,sys.stdin.readline().split()))
for num in note2:
result = binary(note1,num,0,N-1)
if result != None:
print("1", end = '\n')
else:
print("0", end = '\n')
T = int(sys.stdin.readline())
for i in range(T):
fnote()