반응형
[문제 출처]
https://www.acmicpc.net/problem/1449
[소스 코드]
물이 새는 곳의 위치를 리스트로 입력받고 오름차순으로 정렬한다.
가장 왼쪽에 있는 구멍부터 테이프를 붙히기 시작해서 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 |