Hanbit the Developer
[그리디] Python - 1449번, 수리공 항승 본문
import sys
input = sys.stdin.readline
N, L = map(int, input().split())
leaks = list(map(int, input().split()))
leaks.sort()
cntTape = 0
noLeakUntil = 0
for leak in leaks:
if noLeakUntil < leak:
noLeakUntil = leak + L - 1
cntTape += 1
print(cntTape)
만약 테이프의 길이가 7이라고 했을 때, 10의 위치를 위해 9.5~16.5위치에 붙인다고 하면, 10~16의 위치까지의 누수도 해결이 된다.
우선 누수된 구간을 오름차순으로 정렬한다. 그리고 누수난 위치들을 for문으로 돌면서 순차적으로 테이프를 붙이되, 누수가 해결된 구간(noLeakUntil)을 갱신해주면서 테이프를 몇 번 썼는지(cntTape)를 증가시켜준다.
'Algorithm > 백준' 카테고리의 다른 글
[그리디] Python - 15903번, 카드 합체 놀이 (0) | 2021.04.02 |
---|---|
[그리디] Python - 16953번, A → B(A to B) (0) | 2021.03.31 |
[그리디] Python - 13305번, 주유소 (0) | 2021.03.29 |
[그리디] Python - 1783번, 병든 나이트 (0) | 2021.03.29 |
[문자열] Python - 1062번, 가르침 (0) | 2021.03.22 |