백준(1449) - 수리공 항승 Python
백준(1449) - 수리공 항승
문제풀이 : 그리디 알고리즘, 파이썬
해결방법
예시로 sinks = [2,3,4,9,10,12,35] 이고 테이프의 길이 l = 3 이라면
2인 경우에 테이프를 붙이면 4까지 수리가 완료되므로 3과 4인 경우는 무시하고 그 다음을 확인하면 된다.
-
위의 설명대로 구현하기만 하면 된다.
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)
댓글남기기