이진탐색 라이브러리
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))
'Python > 이것이 취업을 위한 코딩테스트다' 카테고리의 다른 글
[이코테] 다이나믹 프로그래밍(DP) <수정> (0) | 2025.01.20 |
---|---|
[이코테] 파라메트릭 서치 (0) | 2024.11.25 |
[이코테] 이진탐색 (0) | 2024.11.21 |
[이코테] 정렬/ 성적이 낮은 순서로 학생 출력하기 (0) | 2024.11.07 |
[이코테] 정렬 알고리즘 (0) | 2024.11.05 |