라인 스위핑
import sys
input = sys.stdin.readline
N = int(input())
lines = [list(map(int, input().split())) for _ in range(N)]
lines.sort()
answer = 0
left = right = 0
for start, end in lines:
if not answer:
answer = abs(end - start)
left = start
right = end
continue
# 여기가 스위핑문. 조건에서 벗어나는 라인은 조사 x
if left <= start and right >= end:
continue
answer += abs(end - start)
if right > start:
answer -= abs(right - start)
left = start
right = end
print(answer)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 10000 원 영역 (0) | 2021.09.08 |
---|---|
[백준][Python] 10165 버스노선 (0) | 2021.09.08 |
[백준][Python] 18291 비요뜨의 징검다리 건너기 (0) | 2021.09.07 |
[백준][Python] 2406 안정적인 네트워크 (0) | 2021.09.07 |
[백준][Python] 5569 출근경로 (0) | 2021.09.07 |