알고리즘 공부/백준
(Python)백준 코딩테스트 연습 - 수리공 항승(1449)
HRuler
2023. 2. 13. 14:19
1. 문제
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# n : 물이 새는 곳 수
# l : 주어지는 테이프 길이
n, l = map(int, input().split())
# l_l : 물이 새는 위치 리스트
l_l = list(map(int, input().split()))
l_l.sort()
# cover_st, cover_en : 현재 붙인 테이프가 커버할 수 있는 시작위치와 끝위치
cover_st = 0
cover_en = 0
# l_cnt : 현재까지 사용한 테이프 수
l_cnt = 0
for i in l_l:
# print("l :", i)
# print("cover_st :", cover_st, "cover_en :", cover_en)
if i - 0.5 < cover_st or i + 0.5 > cover_en:
cover_st = i - 0.5
cover_en = i - 0.5 + l
l_cnt += 1
print(l_cnt)
3. 후기
- 생각보다 쉬운 문제라 실버3단계가 맞는지 의심이 들었다.
내 실력이 늘어나서 쉽게 느껴진거라면 좋겠다.