-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
def binary_search(target, array):
low, high = 0, len(array) - 1
while low <= high: # 검색해야 할 레코드가 있는 경우
middle = (low + high) // 2 # middle 계산
if target == array[middle]: # 탐색 성공
return 1 # 1 출력
elif target < array[middle]: # 왼쪽 부분 리스트 탐색
high = middle - 1
else: # 오른쪽 부분 리스트 탐색
low = middle + 1
return 0 # 탐색 실패 -> 0 출력
N 입력 및 배열 생성
N = int(input())
array = list(map(int, input().split()))
array.sort() # 이진 탐색을 위해 배열을 정렬
M 입력 및 확인할 리스트 생성
M = int(input())
checkArray = list(map(int, input().split()))
checkArray의 각 요소에 대해 이진 탐색 실행
for target in checkArray:
print(binary_search(target, array))
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels