Algorithm Problems

[백준] [Python] 1920번 수 찾기 - 이분 탐색 - [대표예제]

WakaraNai 2021. 6. 10. 02:16
728x90
반응형

https://www.acmicpc.net/problem/1920

 

1920번: 수 찾기

첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들

www.acmicpc.net

 

 

Python

import sys

input = sys.stdin.readline

n = int(input())
arr = list(map(int, input().split()))
m = int(input())
nums = list(map(int, input().split()))

arr.sort()

for num in nums:
    left = 0
    right = len(arr)-1
    
    ans = 0

    while (left <= right):
        mid = (left+right) // 2
        if arr[mid] > num:
            right = mid-1
        elif arr[mid] < num:
            left = mid+1
        else:
            ans = 1
            break
        
    print(ans)
728x90
반응형