포도가게의 개발일지
python 백준 1655번 수찾기(이분탐색) 본문
반응형
1. 이분탐색을 이용한 수 찾기(정렬이 되있을 때 만 이진탐색이 가능하다)
import sys
def binary(start, end, target):
global ans
if abs(end - start) < 1:
return
mid = (start+end)//2
#print(start,mid, end,target)
#print(arr, arr[mid], target)
if arr[mid] == target:
ans = 1
#print('target done')
return
if target < arr[mid]:
binary(0, mid,target)
if target > arr[mid]:
binary(mid+1, end,target)
num1 = int(sys.stdin.readline())
arr=[]
for repeat1 in map(int,sys.stdin.readline().split()):
arr.append(repeat1)
set(arr)
arr.sort()
num2 = int(sys.stdin.readline())
for target in map(int,sys.stdin.readline().split()):
ans = 0
binary(0, len(arr), target)
print(ans)
'백준' 카테고리의 다른 글
python 백준 2110번 공유기 설치 (0) | 2021.08.15 |
---|---|
python 백준 2805번 나무자르기 (0) | 2021.08.15 |
python 백준 2468번 안전영역 (0) | 2021.08.11 |
백준 10971번 외판원의 순회 2 (0) | 2021.08.10 |
백준 03일차 (0) | 2021.08.09 |
Comments