728x90
반응형
링크: https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
아이디어
- 물이 새는 곳 리스트를 돌며 처음것과 다음것의 차를 구하여 저장 -> tmp
- 그 값이 L보다 작으면 L-tmp를 하여 저장 -> L1
- 계속 돌며 L1-tmp를 하다가 tmp가 L1보다 더 커지는 경우 테이프를 하나 더 가져와야 함 cnt += 1
- 반복문이 끝날 때까지 계
구현
import sys
input = sys.stdin.readline
N, L = map(int, input().split())
li = list(map(int, input().split()))
li.sort()
cnt = 1
tmp = 0
L1 = L-1
for i in range(N-1):
tmp = li[i+1] - li[i]
if tmp <= L1:
L1 -= tmp
else:
cnt +=1
L1 = L-1
print(cnt)
마무리
- 단순 그리드 문제였다.
- 머리속으로 행렬을 그리며 생각하는게 오랜만이라 좀 힘들었음.. ㅎ
- 중간고사도 끝났겠다 다시 알고리즘 달려보자~~~~`
728x90
반응형
'코테준비 > 백준' 카테고리의 다른 글
[백준] 3568번: iSharp - Python (0) | 2025.01.21 |
---|---|
[백준] 1929번: 소수 구하기 - Python (0) | 2025.01.08 |
[백준] 21736번: 헌내기는 친구가 필요해 - Python (0) | 2023.10.10 |
[백준] 1182번: 부분수열의 합 - Python (0) | 2023.10.09 |