킹솔이
[백준/Python] 2170 선 긋기 본문
import sys
li = []
ans = 0
n = int(input())
for i in range(n):
start, end = map(int, sys.stdin.readline().split()) # 입력때문에 시간초과 났음
li.append((start, end))
li.sort()
prevStart, prevEnd = li[0][0], li[0][1]
for i in range(1, n):
start, end = li[i][0], li[i][1]
if start <= prevEnd:
prevEnd = max(prevEnd, end)
else:
ans+=prevEnd-prevStart
prevStart, prevEnd = start, end
ans+=prevEnd-prevStart
print(ans)
정렬 & 스위핑
'Algorithm' 카테고리의 다른 글
[백준/Python] 1260 DFS와 BFS (0) | 2021.01.18 |
---|---|
[백준/Python] 5014 스타트링크 (0) | 2021.01.17 |
[백준/Python] 13023 ABCDE (0) | 2021.01.13 |
[백준/Python] 14867 물통 (0) | 2021.01.13 |
[백준/Python] 1202 보석 도둑 (0) | 2021.01.08 |