어디까지 갈 수 있을까?
bisect, 이분(이진)탐색 라이브러리 사용하기 본문
1
2
3
4
5
|
from bisect import bisect_left, bisect_right
nums = [4,5,5,6]
n = 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
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 TypeError: 'list' object is not callable 에러 (0) | 2021.04.27 |
---|---|
deque, heapq 차이 및 사용법 (0) | 2021.03.05 |
sys.stdin.readline 오류, input 오류 (0) | 2021.02.14 |
리스트 중복 요소 개수 찾기, 제거하기 :: 파이썬 (0) | 2021.02.08 |
insert(), 원하는 위치에 값 넣기 :: 파이썬 (0) | 2021.02.08 |
Comments