Skip to content

BOJ 1920 #17

@Merrychristmasyo

Description

@Merrychristmasyo

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))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions