Binary Search
def sol1(k, arr):
left = 0
right = len(arr)
while left < right:
mid = (left + right) // 2
if arr[mid] >= k: # >=
right = mid
else:
left = mid + 1
return len(arr) - left
# arr의 원소중 k보다 크거나 같은 원소의 개수. (k보다 작은 숫자 + 1의 인덱스)
def sol2(k, arr):
left = 0
right = len(arr)
while left < right:
mid = (left + right) // 2
if arr[mid] > k: # >
right = mid
else:
left = mid + 1
return len(arr) - left
# arr의 원소중 k보다 큰 원소의 개수 (k보다 큰 다음 수의 인덱스)
Last updated