문제풀이/BOJ
[Python] BOJ/백준 1817번 짐 챙기는 숌
서채리
2022. 9. 4. 19:24
[문제]
https://www.acmicpc.net/problem/1817
1817번: 짐 챙기는 숌
첫째 줄에 책의 개수 N과 박스에 넣을 수 있는 최대 무게 M이 주어진다. N은 0보다 크거나 같고 50보다 작거나 같은 정수이고, M은 1,000보다 작거나 같은 자연수이다. N이 0보다 큰 경우 둘째 줄에 책
www.acmicpc.net

[풀이]
이 문제의 핵심은 책을 차례대로 박스에 넣을 수 있다는 것이다.
때문에 차례대로 반복문을 돌며 박스에 책을 넣었을 때 박스에 들어간 무게가 M을 넘는다면 박스 무게를 초기화 하여 현재 책의 무게를 담고 cnt를 1 증가시킨다.
[코드]
import sys
N, M = map(int, sys.stdin.readline().split())
if N > 0:
books = list(map(int, sys.stdin.readline().split()))
current_weight, cnt = 0, 1
for book in books:
if current_weight + book <= M:
current_weight += book
else:
current_weight = book
cnt += 1
print(cnt)
else:
print(0)