binary_search
μ¬κ·
def binary_search(array, target, start, end):
if start > end: # μ΄κ²λ λ§μ°¬κ°μ§λ‘ μ¬κ·μ΄κΈ° λλ¬Έμ, μ¬κ·ν΄μ λ€μ΄μ¨ κ²μ κ³ λ €νμ¬ μ²μ 쑰건μ μ€μ ν΄μ€μΌ νλ€.
return None
mid = (start + end) //2 # μ€κ°μ μ μΈλ±μ€
if array[mid] == target: # μ°Ύμ κ²½μ° μΈλ±μ€ λ°ν
return mid
elif array[mid] > target: # μ°Ύκ³ μ νλ κ°μ΄ μ€κ°λ³΄λ€ μμ κ²½μ°, μ€κ°μ μ μΌμͺ½ νμΈ
return binary_search(array,target,start,mid-1)
else:
return binary_search(array,target,mid+1,end)
n, target = list(map(int,input().split()))
array = list(map(int,input().split()))
rst = binary_search(array,target,0,n-1)
if rst == None:
print('μμκ° μ‘΄μ¬νμ§ μμ΅λλ€.')
else:
print(rst + 1)λ°λ³΅λ¬Έ
Last updated