💡문제접근
- 다리의 길이만큼 배열을 만든 다음 만약 다리 위에 있는 트럭의 무게의 합이 다리의 최대 하중보다 많이 나간다면 0을 추가해주고 그렇지 않다면 첫 번째 트럭을 가져온다.
- 실버1 문제치곤 난이도가 좀 있어서 시행착오를 많이 겪었다.
💡코드(메모리 : 34140KB, 시간 : 96ms)
from collections import deque
import sys
input = sys.stdin.readline
n, w, L = map(int, input().strip().split())
trucks = deque(map(int, input().strip().split()))
time = 0
bridge = [0] * w
while bridge:
time += 1
bridge.pop(0)
if trucks:
if sum(bridge) + trucks[0] <= L:
bridge.append(trucks.popleft())
else:
bridge.append(0)
print(time)
💡소요시간 : 18m