마음만 바쁜 사람
article thumbnail
Published 2022. 5. 3. 10:58
11663-선분 위의 점 ALGORITHM/BOJ

https://www.acmicpc.net/problem/11663

 

11663번: 선분 위의 점

첫째 줄에 점의 개수 N과 선분의 개수 M이 주어진다. (1 ≤ N, M ≤ 100,000) 둘째 줄에는 점의 좌표가 주어진다. 두 점이 같은 좌표를 가지는 경우는 없다. 셋째 줄부터 M개의 줄에는 선분의 시작점과

www.acmicpc.net

간단한 이분 탐색 문제인데 문제 조건을 제대로 보지 않았다. 처음에는 틀렸습니다가 계속 뜨길래 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
profile

마음만 바쁜 사람

@훌루훌루

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!