본문 바로가기
Study/Coding Test

[백준] 10815 - 숫자 카드 Python

by 들숨날숨흡 2023. 5. 23.
728x90

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

import sys

input = sys.stdin.readline

def binary_search(i):
    start = 0
    end = N - 1
    while start <= end:
        mid = (start + end) // 2
        if card[mid] == i:
            return 1
        elif card[mid] < i:
            start = mid + 1
        else:
            end = mid - 1
    return 0

N = int(input())

card = list(map(int, input().split(" ")))

# 이분탐색 하기 전 정렬
card.sort()

M = int(input())
target = list(map(int, input().split(" ")))

for i in target:
    print(binary_search(i), end = " ")
728x90