2/BOJ

백준 1920번 - 수 찾기

하례은 2020. 10. 18. 20:59

www.acmicpc.net/problem/1920

 

1920번: 수 찾기

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

www.acmicpc.net

이분탐색

 


n = int(input())
nn = list(input().split())
nn.sort()
m = int(input())
mm = list(input().split())

def search(mm,start,end,nn):
    if start > end:
        return 0
    mid = (start + end) // 2
    if nn[mid] == mm:
        return 1
    elif nn[mid] < mm:
        start = mid + 1
    else :
        end = mid -1

    return search(mm, start, end, nn)


start = 0
end = n - 1
for i in range(m):
    print(search(mm[i],start,end,nn))
    

        

 

정신차리고 다시 이분탐색부터 공부!!

 

 

'2 > BOJ' 카테고리의 다른 글

백준 11399, 5585번 - ATM, 거스름돈  (0) 2020.10.21
백준 2750, 2751번 - 수 정렬하기1, 2  (0) 2020.10.20
백준 11401번 - 이항계수3  (0) 2020.10.13
백준 1655번 - 가운데를 말해요  (0) 2020.10.13
백준 12865번 - 평범한 배낭  (0) 2020.10.12