https://www.acmicpc.net/problem/1449
- 테이프를 자를 수 없으므로 길이가 L 로 고정되어있다.
- 좌우로 0.5 패딩을 붙인다고 했을 때, 테이프를 한번 붙일 때 커버되는 크기가 정해진다.
- 앞에서부터 순서대로 테이프를 붙여나가면서, 커버되지 않는 구멍이 생길때만 테이프를 새로 붙여준다.
- 테이프를 겹치게 붙일 수 있기 때문에, 마지막 위치를 신경쓰지 않아도 된다.
N, L = map(int, input().split())
breaks = sorted(map(int, input().split())) # 가까운 구멍부터 차례대로 돌기 위해 정렬해놓음
cover = cnt = 0
for cur in breaks: # 구멍을 하나씩 확인하면서
if cover < cur: # 이전의 테이프로 막히지 않은 구멍이라면
cover = cur + L - 0.5 # 테이프를 길이만큼 붙임
cnt += 1
print(cnt)
'PS > BOJ' 카테고리의 다른 글
[백준] 1238 : 파티 (0) | 2021.05.16 |
---|---|
[백준] 1167 : 트리의 지름 (0) | 2021.05.15 |
[백준] 1717 : 집합의 표현 (0) | 2021.05.12 |
[백준] 12852 : 1로 만들기 2 (0) | 2021.05.11 |
[백준] 2263 : 트리의 순회 (0) | 2021.05.07 |