반응형
https://www.acmicpc.net/problem/10815
답안
def BS(target, data):
start = 0
end = len(data)-1
while start <= end:
mid = (start + end) // 2
if data[mid] == target:
return 1
elif data[mid] < target:
start = mid + 1
else:
end = mid - 1
return 0
N = int(input())
N_card = sorted(list(map(int, input().split())))
M = int(input())
M_card = list(map(int, input().split()))
for i in M_card:
print((BS(i, N_card)), end = ' ')
이진 탐색의 기본 문제이다.
출력만 좀 효율적이게 한다면 문제없이 풀었을 것이다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 10699번 오늘 날짜 파이썬 (0) | 2022.02.16 |
---|---|
백준 2178번 미로 탐색 파이썬 BFS (0) | 2022.02.15 |
백준 2609번 최대공약수와 최소공배수 파이썬 (0) | 2022.02.11 |
백준 10026번 적록색약 파이썬 DFS (0) | 2022.02.10 |
백준 10989번 수 정렬하기 3 파이썬 (0) | 2022.02.09 |