백준(1920) - 수 찾기 Python

최대 1 분 소요

백준(1920) - 수 찾기

문제풀이: 이진탐색, 파이썬

해결방법

예시)

# 입력 #
5
4 1 5 2 3
5
1 3 7 9 5

# 출력결과 #
1
1
0
0
1
  • 이진탐색의 방법을 사용했지만 Hash 알고리즘으로 푸는 것이 더 효율적이다.
import sys
input = sys.stdin.readline

n = int(input())
a = list(map(int, input().split()))

m = int(input())
b = list(map(int, input().split()))


def find(array, target, start, end):
    while start <= end:
        mid = (start+end)//2
        if array[mid] == target:
            return 1
        elif array[mid] < target:
            start = mid + 1
        else:
            end = mid - 1
    return None


a.sort()
for i in b:
    if find(a, i, 0, n-1):
        print(1)
    else:
        print(0)

댓글남기기