Skip to content

Instantly share code, notes, and snippets.

@atoye1
Created June 9, 2022 00:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atoye1/5730ed698ee5bcaa4b93c1247120ee5f to your computer and use it in GitHub Desktop.
Save atoye1/5730ed698ee5bcaa4b93c1247120ee5f to your computer and use it in GitHub Desktop.
코딩테스트_이진탐색
def binary_search(arr, start, end, val):
if start > end:
return -1
mid = (start + end) // 2
if arr[mid] == val:
return mid
elif arr[mid] > val:
return binary_search(arr, start, mid - 1, val)
elif arr[mid] < val:
return binary_search(arr, mid + 1, end, val)
# 성능적으로 개선된 재귀호출을 사용하지 않는 이진탐색
def binary_search_non_recursive(arr, star, end, val):
while start <= end:
mid = (start + end) // 2
if arr[mid] == val:
return mid
if arr[mid] > val:
end = mid -1
elif arr[mid] < val:
start = mid + 1
return -1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment