프로그래밍 언어/파이썬

백준 > 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]))

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

백준 > 2869 달팽이는 올라가고 싶다  (0) 2024.03.30
백준 > 9012 괄호  (0) 2024.03.28
백준 > 1929 소수 구하기  (0) 2024.03.02
백준 > 10989 수 정렬하기 3  (0) 2024.02.29
백준 > 11656 접미사 배열  (0) 2024.02.24