[백준] 13335번 트럭 ★

거북이·2023년 2월 6일
0

백준[실버1]

목록 보기
31/67
post-thumbnail

💡문제접근

  • 다리의 길이만큼 배열을 만든 다음 만약 다리 위에 있는 트럭의 무게의 합이 다리의 최대 하중보다 많이 나간다면 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

0개의 댓글