반응형
[문제 출처]
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
[소스 코드]
물이 새는 곳의 위치를 리스트로 입력받고 오름차순으로 정렬한다.
가장 왼쪽에 있는 구멍부터 테이프를 붙히기 시작해서 for문으로 어는 구멍까지 막을 수 있는지 체크한다.
현재 새는 곳인 pipe[i]가 테이프가 시작되는 부분 pipe[now]로부터 l - 1 이내에 있다면 새로운 테이프를 뜯지 않아도 된다.
만일 이보다 멀리있을 경우 다른 테이프가 필요하며 테이프 개수가 증가한다.
import sys
input = sys.stdin.readline
n, l = map(int, input().split())
pipe = list(map(int, input().split()))
pipe.sort()
count = 1
now = 0
for i in range(1,n):
if pipe[i] <= pipe[now] + l-1:
continue
else:
count += 1
now = i
print(count)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 14400 편의점 2 (0) | 2022.07.06 |
---|---|
[python/파이썬] 백준 14247 나무 자르기 (0) | 2022.07.05 |
[python/파이썬] 백준 16162 가희와 3단 고음 (0) | 2022.07.04 |
[python/파이썬] 백준 13413 오셀로 재배치 (0) | 2022.07.04 |
[python/파이썬] 백준 2847 게임을 만든 동준이 (0) | 2022.07.01 |