백준 13335 트럭 / python

이유참치·2026년 1월 19일

백준

목록 보기
204/248

문제 : 13335

풀이 Tip

모든 트럭이 지나가는 과정의 시간을 측정해야하기 때문에 미리 트럭의 값만큼 0 값을 집어넣어서 트럭이 지나가는 것을 표현한다.

풀이 과정

만약 bridge에 올라간 트럭의 무게 + 올릴 트럭의 무게가 다리 하중보다 무거우면 다음 트럭을 올리지 않고 0을 넣는다.
반대면 트럭을 올린다.

마지막에 0을 모두 빼주어 트럭이 모두 다리에서 나가는 시간을 세준다.

풀이 코드

from collections import deque

N, W, L = map(int, input().split())

trucks = deque(map(int, input().split()))

bridge = deque(0 for _ in range(W))

time = 0
num = 0

while num != N:
    bridge.popleft()
    if sum(bridge) + trucks[num] > L:
        bridge.append(0)
    else:
        bridge.append(trucks[num])
        num += 1 
    time += 1

while bridge:
    bridge.pop()
    time += 1

print(time)
profile
임아리 - 대학생

0개의 댓글