백준 10815 <숫자카드>-python3

hotmoist·2021년 8월 12일
0
post-custom-banner
import sys

def binary_search(list_, target):
    start = 0
    end = len(list_) - 1
    while start <= end:
        mid = (start + end) // 2
        if list_[mid] == target:
            return 1
        elif list_[mid] > target:
            end = mid - 1
        else:
            start = mid + 1

    return 0


if __name__ == '__main__':
    n = int(sys.stdin.readline())
    num_card_list = sys.stdin.readline().rstrip().split(' ')
    num_card_list = list(map(int, num_card_list))
    num_card_list.sort()
    m = int(sys.stdin.readline())
    have_card_list = sys.stdin.readline().rstrip().split(' ')
    have_card_list = list(map(int, have_card_list))

    for card in have_card_list:
        print(binary_search(list_=num_card_list, target=card), end=' ')

선형 탐색으로는 시간초과가 났었던 문제.
이분 탐색으로 진행하니 수월하게 통과하였던 문제였다.

profile
No coffee, No coding
post-custom-banner

0개의 댓글