1920번 수 찾기
문제정의
이분 탐색을 이용한 수 탐색 문제이다.
문제풀이
전체 코드는 다음과 같다. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30def binary_search(A, key):
l = 0
r = len(A)
while l < r:
mid = (l+r) // 2
if A[mid] == key:
return 1
elif A[mid] > key:
r = mid
else:
l = mid+1
return 0
N = int(input())
A = input().split(" ")
for i, _ in enumerate(A):
A[i] = int(A[i])
A.sort()
M = int(input())
X = input().split(" ")
for i, _ in enumerate(X):
print(binary_search(A, int(X[i])))
이분 탐색을 구현하는 문제이다. 입력을 받는 부분을 건너 뛰고 binary_search
함수를 보면 된다. 인덱스를 기준으로 이분탐색을 진행한다.