728x90
import sys
input = sys.stdin.readline
N = int(input())
N_list = list(map(int, input().split()))
N_list.sort()
M = int(input())
M_list = list(map(int, input().split()))
# M_list의 원소가 N_list에 존재하는지 알아내는 문제
def binarySearch(s, e, key):
while s <= e:
m = (s + e) // 2
if N_list[m] == key:
return 1
elif N_list[m] < key:
s = m + 1
else: # N_list[m] > key
e = m - 1
return 0
for i in range(len(M_list)):
print(binarySearch(0, N - 1, M_list[i]))
M_list의 원소가 N_list에 존재하는지 알아내는 문제이다
이분탐색을 활용해서 풀면되는데 N_list가 정렬이 되어있지 않다.
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 2644 촌수계산 python (0) | 2021.04.29 |
---|---|
[백준] 1107 리모컨 python (0) | 2021.04.28 |
[백준] 1874 스택수열 python (0) | 2021.04.28 |
[백준] 1654 랜선자르기 python (0) | 2021.04.28 |
[백준] 1504 특정한 최단 경로 python (0) | 2021.04.27 |