[백준] 1817번 짐 챙기는 숌

거북이·2023년 9월 18일
0

백준[실버5]

목록 보기
109/114
post-thumbnail

💡문제접근

  • 책은 탑처럼 쌓여있기 때문에 무게가 가장 많이 나가는 것부터 넣을 수 없다.
  • 맨 위에서부터 책을 하나하나 넣고 이 무게가 최대 무게를 넘으면 박스를 하나 추가하고 새로운 박스에 최대 무게를 넘게 만든 책을 넣어준다.
  • 마지막에 넣은 것들은 for문 루프 밖에서 별도로 처리해준다.

💡코드(메모리 : 31256KB, 시간 : 40ms)

import sys
input = sys.stdin.readline

N, M = map(int, input().strip().split())

if N == 0:
    print(0)
else:
    books = list(map(int, input().strip().split()))
    tot = 0
    temp = 0

    for i in range(N-1, -1, -1):
        temp += books[i]
        if temp > M:
            tot += 1
            temp = books[i]
    if temp <= M:
        tot += 1
    print(tot)

💡소요시간 : 24m

0개의 댓글