728x90
https://www.acmicpc.net/problem/1911
1911번: 흙길 보수하기
어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N (1 <= N <= 10,000) 개의 물웅덩이가 생겼다. 월드학원은 물웅덩이를 덮을 수 있는 길이 L (L은 양의 정수)
www.acmicpc.net
import sys
N, L = map(int, sys.stdin.readline().strip().split())
pool = [list((map(int, sys.stdin.readline().strip().split()))) for _ in range(N)]
pool.sort(key = lambda x : x[0])
end = -1 # 판자 오른쪽 끝 위치를 담는 변수
answer = 0
cnt = 0
for st, ed in pool:
if st >= end: # 시작점이 판자 끝부분보다 뒤에 있으면
cnt = (ed - st) // L
cnt += 1 if (ed - st) % L else 0
end = st + (cnt * L)
else: # 시작점이 판자 끝부분보다 앞에 있다면
cnt = (ed - end) // L
cnt += 1 if (ed - end) % L else 0
end = end + (cnt * L)
answer += cnt
print(answer)
728x90
'알고리즘' 카테고리의 다른 글
C++ - 창고 다각형 (2304) (0) | 2023.07.17 |
---|---|
Python - 계단 오르기 (2579) DP (0) | 2023.06.29 |
Python - 말이 되고픈 원숭이 (1600) BFS (0) | 2023.06.29 |
Python - 배 (1092) 그리디 (0) | 2023.06.17 |
Python - 회장 뽑기(2660) - BFS (0) | 2023.06.15 |