Algorithm/백준 온라인 저지(BOJ)
[BOJ] 1920 수 찾기 파이썬
junha6316
2021. 2. 15. 21:40
전형적인 이분 탐색
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)