백준(1449) - 수리공 항승 Python

최대 1 분 소요

백준(1449) - 수리공 항승

문제풀이 : 그리디 알고리즘, 파이썬

해결방법

예시로 sinks = [2,3,4,9,10,12,35] 이고 테이프의 길이 l = 3 이라면

2인 경우에 테이프를 붙이면 4까지 수리가 완료되므로 3과 4인 경우는 무시하고 그 다음을 확인하면 된다.

  1. 위의 설명대로 구현하기만 하면 된다. tape = sink + l - 1

    1을 빼주는 것만 유의하면 쉽게 구현할 수 있다.

n, l = map(int, input().split())
sinks = list(map(int, input().split()))
sinks.sort()

cnt = 0
tape = 0
for sink in sinks:
    if tape < sink:
        tape = sink + l - 1
        cnt += 1
    else:
        continue

print(cnt)

댓글남기기