오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

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)