어디까지 갈 수 있을까?

bisect, 이분(이진)탐색 라이브러리 사용하기 본문

프로그래밍/파이썬

bisect, 이분(이진)탐색 라이브러리 사용하기

_Min 2021. 2. 19. 18:30
1
2
3
4
5
from bisect import bisect_left, bisect_right
nums = [4,5,5,6]
= 5
print(bisect_left(nums, n)) #1
print(bisect_right(nums, n)) #3
cs

bisect_left는 정렬된 배열에서 n값이 들어갈 수 있는 가장 왼쪽 인덱스를 반환한다

bisect_right는 정렬된 배열에서 n값이 들어갈 수 있는 가장 오른쪽 인덱스를 반환한다

 

 

* 범위 안 수의 갯수를 구하고 싶을 때

1
2
3
from bisect import bisect_left, bisect_right
nums = [4,5,5,6,6,7,8]
print(bisect_right(nums, 7)-bisect_left(nums, 5)) #5
cs

5, 6, 7의 갯수를 구할 수 있으므로 5개가 나온다

728x90
Comments