Agorithm/백준 알고리즘

백준 알고리즘 1449번 수리공 항승(python)

kimjinho1 2020. 1. 26. 03:08
728x90
반응형

물이 샌 곳을 막는데 막대기는 왼쪽 끝과 오른쪽 끝 0.5를 제외한 1만큼의 여유가 필요하다.

현재 물이 샌 곳에 테이프 길이를 더하고 1을 뺀 값이 다음 물이 샌 곳보다 작으면 막대기 한 개가 필요하다.

물이 샌 곳의 위치가 저장된 리스트를 정렬한 후에 위의 경우가 있는지 끝까지 확인하고 카운트를 새면 된다.

n, len_tape = map(int, input().split())
li = sorted(list(map(int, input().split())))
t, cnt = 0, 1
for i in range(1, n):
    if li[t] + len_tape - 1 < li[i]:
        cnt += 1
        t = i
print(cnt)
728x90
반응형