✏️ 문제
문제 파악
이전에 붙인 테이프의 길이가
- 다음 위치까지 사용할 수 있는 지 (테이프 개수 추가 x)
- 다음 위치까지 테이프 길이가 되지 않아 새로 테이프를 붙여야 하는 지 (테이프 개수 추가 o)
조건을 잘 세워 코드를 짜야하는 문제이다.
알고리즘
- 그리디 알고리즘
- 정렬
코드
n, l = map(int, input().split())
position = list(map(int, input().split()))
position.sort()
start = position[0]
count = 1
for i in position[1:]:
if (i + 0.5) - (start - 0.5) <= l: # 테이프 길이 내에 위치가 있으면 이전에 썼던 테이프 계속 사용
continue
else: # 새 테이프 사용
start = i # 오름차순 정렬로 다음 위치는 새로 붙인 테이프로 사용하면 되기 때문에 기준 변경
count += 1
print(count)
'PS > 백준' 카테고리의 다른 글
[Python] 13417번 카드 문자열 (0) | 2024.08.25 |
---|---|
[Python] 6550번 부분 문자열 (0) | 2024.08.25 |
[Python] 1343번 폴리오미노 (0) | 2024.08.24 |
[Python] 2468번 안전 영역 (0) | 2024.08.21 |
[Python] 20551번 Sort 마스터 배지훈의 후계자 (0) | 2024.08.21 |