Python/이것이 취업을 위한 코딩테스트다
[이코테] 이진탐색
정호나
2024. 11. 23. 23:45
이진탐색 라이브러리
bisect_left(a,x) : 정렬된 순서 유지하면서 배열 a에 x 삽입한 가장 왼쪽 인덱스 반환
bisect_right(a,x) : 정렬된 순서 유지하면서 배열 a에 x 삽입할 가장 오른쪽 인덱스 반환
from bisect import bisect_left, bisect_right
def count_by_range(a,left_value, right_value):
right_index = bisect_right(a,right_value)
left_index = bisect_left(a, left_value)
return right_index - left_index
a =[1,2,3,3,3,3,4,4,8,9]
print(count_by_range(a,4,4))
print(count_by_range(a,-1,3))