전형적인 이분 탐색
1. input을 받고
2. 정렬을 한 다음
3. 이분탐색 함수를 구현해서 돌리면 된다.
간단! 파이썬으로 하면 시간 초과가 나는데 Pypy3로 돌려주면 통과!
value = int(input())
num_list = [int(i) for i in input().split()]
N= int(input())
test_case = [int(i) for i in input().split()]
num_list.sort()
def bs(value, num_list):
mid = len(num_list)//2
if num_list[mid] == value:
return 1
if len(num_list) <= 1:
return 0
if num_list[mid] > value:
answer =bs(value, num_list[:mid])
elif num_list[mid] < value:
answer = bs(value, num_list[mid:])
return answer
for num in test_case:
answer=bs(num, num_list)
print(answer)
'Algorithm > 백준 온라인 저지(BOJ)' 카테고리의 다른 글
[BOJ] 10815 숫자카드 파이썬 (0) | 2021.02.17 |
---|---|
[BOJ] 나무자르기 - 이분탐색 (0) | 2021.02.16 |
09/04 캐슬 디펜스 BOJ 17135 파이썬 (0) | 2020.09.04 |
09/03 미확인 도착지 BOJ 9370 (0) | 2020.09.03 |
09/02 교환 BOJ 1039 파이썬 (0) | 2020.09.02 |