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 |