티스토리 뷰

PS/BOJ Python

10815번 - 숫자 카드

zpqmdh 2022. 3. 10. 23:42

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

 

10815번: 숫자 카드

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

www.acmicpc.net

# 순차 탐색은 시간 초과 -> 이진 탐색 사용하기
import sys
N = int(sys.stdin.readline().rstrip())
card = list(map(int, sys.stdin.readline().split()))
M = int(sys.stdin.readline().rstrip())
check = list(map(int, sys.stdin.readline().split()))

card.sort()

def binarySearch(arr, target, start, end):
    while start<=end:
        mid = (start+end)//2
        if arr[mid] == target:
            return mid
        elif target < arr[mid]:
            end = mid - 1
        else:
            start = mid + 1
    return None

for i in range(M):
    if binarySearch(card, check[i], 0, N-1) is not None:
        print(1, end=" ")
    else:
        print(0, end=" ")

'PS > BOJ Python' 카테고리의 다른 글

2407번 - 조합  (0) 2022.03.23
15655번 - N과 M (6)  (0) 2022.03.13
2805번 - 나무 자르기  (0) 2022.03.08
1543번 - 문서 검색  (0) 2022.03.06
10610번 - 30  (0) 2022.03.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함