반응형
문제접근
- 어떤 수열에서 특정 값이 있는지 없는지를 찾는데 수가 크다면 이진탐색을 고려해 봐야했다
- 2021.03.17 - [Algorithm & Data structure] - [알고리즘] 이진탐색 (이분탐색)
# 수 찾기
import sys
input = sys.stdin.readline
def binary_search(start, end, target, arr):
while start <= end:
mid = (start + end) // 2
if arr[mid] == target:
return 1
elif arr[mid] < target:
start = mid + 1
else:
end = mid - 1
return 0
result = []
n = int(input())
h_list = list(map(int,input().split()))
h_list.sort()
m = int(input())
d_list = list(map(int,input().split()))
for d in d_list:
result.append(binary_search(0, n-1, d, h_list))
for r in result:
print(r)
풀이 영상
www.youtube.com/watch?v=XX4kTBtU79k
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 01타일 1920 (파이썬) (0) | 2021.03.19 |
---|---|
[백준] N과 M (1) 15649 (파이썬) (0) | 2021.03.19 |
[백준] 곱셈 2588 (파이썬) (0) | 2021.03.18 |
[백준] [백트래킹] N-Queen 9663 (파이썬) (0) | 2021.03.17 |
[백준] [다익스트라 알고리즘] 최단경로 1753 (파이썬) (0) | 2021.03.17 |