💻 Algorithm/Python
[Python] 이코테 - 정렬된 배열에서 특정 수의 개수 구하기 (이진탐색)
선주
2021. 10. 20. 14:55
문제
👆 첫 번째 시도
- bisect 라이브러리를 사용하면 쉽게 정답을 얻을 수 있다.
from bisect import bisect_left, bisect_right
n, x = map(int, input().split())
array = list(map(int, input().split()))
diff = bisect_right(array, x) - bisect_left(array, x)
if diff == 0:
print(-1)
else:
print(diff)
📌 bisect 라이브러리
- bisect_left(a, x): 배열 a에 원소 x가 들어갈 수 있는 가장 왼쪽 인덱스를 반환
- bisect_right(a, x): 배열 a에 원소 x가 들어갈 수 있는 가장 오른쪽 인덱스를 반환