백준(1920) - 수 찾기 Python
백준(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)
댓글남기기