상세 컨텐츠

본문 제목

[파이썬] 백준 1920: 수 찾기 (이진 탐색)

백준 연습

by \시엔/ 2021. 8. 28. 20:49

본문

from sys import stdin

def binary_search(array, target, start, end):
    if start > end:
        return
    mid = (start + end) // 2
    if array[mid] == target:
        return mid
    elif array[mid] > target:
        return binary_search(array, target, start, mid - 1)
    else:
        return binary_search(array, target, mid + 1, end)
    
n = int(stdin.readline())
array = list(map(int, stdin.readline().split()))
array.sort()
m = int(stdin.readline())
lst = list(map(int, stdin.readline().split()))

for target in lst:
    if binary_search(array, target, 0, n-1) != None:
        print("1")
    else:
        print("0")

관련글 더보기