sw사관학교 정글 2기/02 이분탐색, 분할정복, 스택, 큐, 우선순위 큐
[이분탐색] 백준 1920번 수 찾기 with Python3 ★
금의야행
2021. 8. 13. 15:20
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
문제
내 풀이
from typing import Any, Sequence
def bin_search(a: Sequence, key: Any) -> int:
pl = 0
pr = len(a) - 1
while True:
pc = (pl + pr)//2
if a[pc] == key:
return 1
elif a[pc] < key:
pl = pc+1
else:
pr = pc - 1
if pl > pr:
break
return 0
if __name__ == "__main__":
n = int(input())
a = list(map(float, input().split()))
a.sort()
n2 = int(input())
a2 = list(map(int, input().split()))
for i in range(len(a2)):
ky = a2[i]
print(bin_search(a, ky))
출처 : Do it! 파이썬
해설
책에 잇는 이진 검색법을 그대로 적용 시켜 보았다.
정답 풀이
x
출처:
해석