https://www.acmicpc.net/problem/11663
간단한 이분 탐색 문제인데 문제 조건을 제대로 보지 않았다. 처음에는 틀렸습니다가 계속 뜨길래 bisect의 left와 right에 대해 내가 잘못 생각한 줄 알고 다른 곳을 고치고 있었는데 원인은 그냥 인풋 받고 나서 정렬 안해서 오답이 뜨는 거였다.
문제에 나와있는 테케에는 입력받는 점들이 오름차순으로 되어 있지만 문제 조건에는 입력받는 점들이 정렬된 채로 들어온다는 말이 없기 때문에 다른 코드에서 따로 정렬을 해주어야 했다. 테케가 불친절하다고 하기엔 그냥 내가 한 번 더 짚고 넘어가지 않은게 잘못이라고 생각하는게 맞을것 같다. 코테에서도 이러면 안되는데..
from bisect import bisect_left, bisect_right
import sys
input= sys.stdin.readline
N, M = map(int, input().split())
dot = list(map(int, input().split()))
dot.sort() # 정렬!!!
for _ in range(M):
le, ri = map(int, input().split())
print(bisect_right(dot, ri)-bisect_left(dot,le))
'ALGORITHM > BOJ' 카테고리의 다른 글
7453-합이 0인 네 정수 (0) | 2022.05.04 |
---|---|
2110-공유기 (0) | 2022.05.03 |
1654-랜선 자르기 (0) | 2022.05.02 |
2805-나무 자르기 (0) | 2022.05.02 |
10815-숫자카드 (0) | 2022.04.30 |