[백준] 11663 - 선분 위의 점

2024. 7. 4. 10:30PS/백준

728x90

문제 링크

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

느낀 점

이분 탐색의 개념이 아직 정확하게 확립이 안된 것 같은 느낌.. 그리고 등호 하나 반환 값 하나에 따라 결과가 천차만별로 달라지니 이것을 유의해서 이분 탐색 문제를 접근하자!

import sys
def min_p(min):
    s, e = 0, len(dot) - 1
    while s <= e:
        m = (s + e) // 2
        if dot[m] < min:
            s = m + 1
        else:
            e = m - 1
    return e + 1

def max_p(max):
    s, e = 0, len(dot) - 1
    while s <= e:
        m = (s + e) // 2
        if dot[m] <= max:
            s = m + 1
        else:
            e = m - 1
    return e

N, M = map(int, sys.stdin.readline().split())
dot = sorted(list(map(int, sys.stdin.readline().split())))
for _ in range(M):
    M_list = list(map(int, sys.stdin.readline().split()))
    max_ind = max_p(M_list[-1])
    min_ind = min_p(M_list[0])
    print(max_ind - min_ind + 1)

'PS > 백준' 카테고리의 다른 글

[백준] 14567 - 선수과목  (0) 2024.08.16
[백준] 5430 - AC  (0) 2024.08.11
[백준] 7795 - 먹을 것인가 먹힐 것인가  (0) 2024.07.01
[백준] 4963 - 섬의 개수  (0) 2024.06.26
[백준] 2644 - 촌수계산  (0) 2024.06.26