[백준] 1920 (실버4)

zunzero·2022년 8월 11일
0

알고리즘(파이썬)

목록 보기
13/54

기본적인 탐색 문제이다.
배열에 해당하는 수가 존재하는 지 1과 0으로 표현하면 된다.

1. 배열 정렬
2. binary search 
def main():
    n = int(input())
    num = list(map(int, input().split()))
    num.sort()

    m = int(input())
    target = list(map(int, input().split()))
    result = [0] * m

    for i in range(m):
        if binary_search(num, target[i], 0, n - 1):
            result[i] = 1
        print(result[i])


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


main()
profile
나만 읽을 수 있는 블로그

0개의 댓글