from sys import stdin
N, L = map(int, stdin.readline().split())
pipe_list= list(map(int, stdin.readline().split()))
# 오름차순 정렬
pipe_list.sort()
res = 1
# 테이프를 붙일 수 있는 지점
length = pipe_list[0] + L - 0.5
for pipe in pipe_list:
# (현재값 + 테이프 길이 + 0.5(간격 필요)) 가 그 다음 값보다 작거나 같다면
# 한 테이프로 이어 붙일 수 있다는 소리이므로, 따로 결과값 카운트 X
if pipe <= length:
continue
else:
res += 1
# 테이프를 붙일 지점을 새롭게 업데이트 해줌
length = pipe + L - 0.5
print(res)
저는 손글씨 감성이 좋아요ㅎ 하하하하
물이 새는 곳의 위치를 나타내는 pipe_list
리스트를 하나하나 보면서,
현재위치 + 테이프길이 L + 0.5 보다 작거나 같으면 한 테이프로 이어붙일 수 있다는 의미이므로 res
값을 따로 카운트 하지 않는다!
만약 크다면, 테이프 길이 범위 밖을 벗어났다는 의미이므로,
테이프 개수를 의미하는 res
값을 1 증가시키고, 새로운 테이프를 붙일 지점을 업데이트 해준다!