[CodingTest] 백준1920번 수 찾기

정재원·2021년 8월 6일
0

문제

내 풀이

array_len = int(input())
arr = list(map(int, input().split()))

arr.sort()

candidate_len = int(input())
candi = list(map(int, input().split()))

start = 0
end = array_len - 1


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

    return 0

for i in candi:
    print(binary_search(arr, i, start, end))
            

이진탐색 문제이다. 위 답안은 반복문을 이용한 방법인데, 재귀적 방법을 이용해서도 시도 했으나 문제에서 요구하는 출력이 나오지 않았다.

profile
생각합니다.

0개의 댓글