본문 바로가기
알고리즘/그리디

[백준][python] 1449 수리공 항승

by 성현0409 2022. 3. 21.

문제

https://www.acmicpc.net/problem/1449

 

1449번: 수리공 항승

첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나

www.acmicpc.net

 

결과

풀이

n, l = map(int, input().split())
t = sorted(list(map(int, input().split())))

answer = 1
a = t[0]

for i in range(1, n):
    if t[i] >= a+l:
        answer += 1
        a = t[i]

print(answer)

 

 물이 새는 곳의 리스트를 정렬 해 준 뒤 '처음 구멍 + 테이프의 길이' 보다 다음 구멍이 더 멀리 있으면 테이프가 더 필요한 것이므로 answer에 + 1 을 해주고 다시 기준이 되는 구멍을 현재 구멍으로 정해준다.

'알고리즘 > 그리디' 카테고리의 다른 글

[백준][python] 9009 피보나치  (0) 2022.03.31
[백준][python] 11497 통나무 건너뛰기  (0) 2022.03.24
[백준][python] 16953 A → B  (0) 2022.03.17