프로그래밍 언어/파이썬

백준 > 1920 수 찾기

B612 2024. 3. 10. 16:29

 

역시나 정렬 문제이고, 이진 탐색을 사용했다.

 

n = int(input())
arr = list(map(int, input().split()))
m = int(input())
brr = list(map(int, input().split()))

arr.sort()

def bin(arr, k): #이진 탐색
    start = 0
    end = n - 1

    while start <= end:
        mid = (start + end) // 2
        if k < arr[mid]:
            end = mid - 1
        elif k == arr[mid]:
            return 1
        else:
            start = mid + 1
    return 0

for i in range(m):
    if arr[0] > brr[i] or arr[-1] < brr[i]:
        print(0)
    else:
        print(bin(arr, brr[i]))