알고리즘/search

[백준]10815 숫자탐색

씩씩한 IT블로그 2020. 6. 11. 16:01
반응형

1. 풀이

이진탐색의 기본구조는 아래와 같다.

while(left<=right):
        mid=(left+right)//2
        if card[mid]<num:
            left=mid+1
        elif card[mid]>num:
            right=mid-1
        else:
            return mid 
    return -1

 

2. 소스코드

N=int(input())
card=list(map(int,input().split()))
card.sort()
M=int(input())
L=list(map(int,input().split()))
size=len(card)

def binary(num):
    left=0
    right=size-1
    while(left<=right):
        mid=(left+right)//2
        if card[mid]<num:
            left=mid+1
        elif card[mid]>num:
            right=mid-1
        else:
            return 1
    return 0

for i in L:
    print(binary(i),end=" ")
반응형