BJO_10815(이진탐색_2)숫자카드

숫자카드 10815

상근이가 가지고 있는 카드 갯수 첫째줄 입력 둘째 줄 숫자 카드 입력 셋째 줄 찾아야할 카드 갯수 입력 넷째 줄 찾아야할 숫자 카드 입력 이 중 숫자카드를 상근이가 가지고 있으면 1번 아니면 0을 출력

  • 그동안 수없이 많이 했던 이진탐색.
import sys


def binarySearch(L, x):
    start = 0
    end = len(L)-1
    while(start <= end):
        middle = (start+end)//2
        if L[middle] == x:
            return 1  # index가 아닌 1 리턴
        elif(L[middle] > x):
            end = middle - 1
        else:
            start = middle + 1
    return 0


N = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
arr.sort()
N2 = int(sys.stdin.readline())
arr2 = list(map(int, sys.stdin.readline().split()))

for i in arr2:
    print(binarySearch(arr, i), end=" ")


참고자료

0%