S E P H ' S

[Python] BJ.10815 숫자카드 본문

Algorithm/BackJoon

[Python] BJ.10815 숫자카드

yoseph0310 2022. 6. 14. 22:19

 

 

10815번: 숫자 카드

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

www.acmicpc.net

풀이

Java 풀이 와 동일하게 이분 탐색을 사용하였다. 정말 입출력하는데에 있어서 파이썬으로 코드 작성하는 것이 편리하기는 하다.

 

import sys
input = sys.stdin.readline

n = int(input())
card = list(map(int, input().split()))
m = int(input())
arr = list(map(int, input().split()))
card.sort()


def search(num, card, start, end):
    if start > end:
        return 0
    mid = (start + end) // 2
    if num == card[mid]:
        return 1
    elif num > card[mid]:
        return search(num, card, mid + 1, end)
    else:
        return search(num, card, start, mid - 1)


for i in arr:
    start = 0
    end = len(card) - 1
    print(search(i, card, start, end), end=" ")

 

'Algorithm > BackJoon' 카테고리의 다른 글

[Java] BJ.10986 나머지 합  (0) 2023.01.21
[Java] BJ.10816 숫자 카드2  (0) 2022.07.03
[Java] BJ.10815 숫자 카드  (0) 2022.06.14
[Python] BJ.10989 수 정렬하기 3  (0) 2022.06.13
[Java] BJ.10989 수 정렬 3  (0) 2022.06.13