[Python] 이코테 정렬된 배열에서 특정 수의 개수 구하기 (Binary Search)

선주·2021년 12월 5일
0

Python PS

목록 보기
3/65
post-thumbnail

📌 문제


📌 풀이

  • 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가 들어갈 수 있는 가장 오른쪽 인덱스를 반환

profile
기록하는 개발자 👀

0개의 댓글