10815

Leeys·2022년 1월 21일

백준

목록 보기
9/14

풀이1
리스트로 숫자를 받고 검사할 숫자를 받을 때마다 리스트 안에 수를 탐색하면됨 m이 10,000,000개이면 순차탬색으로 시간초과에 걸림 1억번 =1초,
이진탐색만 쓰면 된다.

n = int(input())
a = list(map(int, input().split()))
a.sort()

def binary_search(num):
    l = 0
    r = n-1
    while l <= r :
        mid = (l+r)//2
        if a[mid] == num :
            return 1
        elif a[mid] > num :
            r = mid - 1
            # 반 줄여주기 1
        else:
            l = mid + 1
            # 반 줄여주기 2
    return 0

input()
for num in list(map(int, input().split())):
    print(binary_search(num), end = ' ')
profile
공부 리마인드

0개의 댓글