코딩 테스트 및 알고리즘/이것이 취업을 위한 코딩테스트다
Q27. 정렬된 리스트에서 특정 숫자 개수 구하기
띠리링구
2022. 4. 10. 16:37
조건 : O(log N)
이진 탐색으로 특정 숫자가 등장하는 수열의 오른쪽 끝이랑 왼쪽끝을 찾아서 인덱스 차를 구하면 쉽게 풀 수 있다.
from bisect import bisect_left, bisect_right
n, x = map(int, input().split())
arr = list(map(int,input().split()))
count = bisect_right(arr,x) - bisect_left(arr,x)
if count:
print(count)
else:
print(-1)