문제

풀이

import sys
import heapq
n = int(sys.stdin.readline())
rail = [sorted(list(map(int, sys.stdin.readline().split()))) for i in range(n)]
rail.sort(key = lambda x:x[1])
d = int(sys.stdin.readline())
heap = []
result = -1
for s, e in rail:
lim = e - d
if lim <= s:
heapq.heappush(heap, s)
while heap and heap[0] < lim:
heapq.heappop(heap)
result = max(result, len(heap))
print(result)
heapq를 안 쓰고 풀어본 풀이
import sys
n = int(sys.stdin.readline())
p = []
for i in range(n):
p.append(sorted(list(map(int, sys.stdin.readline().split()))))
p = sorted(p, key = lambda x : x[1])
d = int(sys.stdin.readline())
answer = []
for i in range(len(p)):
s = p[i][0]
e = p[i][1]
lim = e - d
cnt = 0
for j in range(i+1):
if lim <= p[j][0]:
cnt += 1
answer.append(cnt)
print(max(answer))