Post

다리를 지나는 트럭 lv2

🌈문제 링크

Desktop View

Desktop View

Desktop View

Desktop View

Desktop View

Desktop View

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from collections import deque
def solution(bridge_length, weight, truck_weights):
    i, t = 0, 1
    q, weightsum = deque(), 0
    
    while i < len(truck_weights):
        while i < len(truck_weights) and weightsum + truck_weights[i] <= weight:
            # 트럭무게, 도로를 빠져나온 시간
            q.append( (truck_weights[i], t + bridge_length) )
            weightsum += truck_weights[i]
            
            i += 1
            t += 1
            # 시간이 t가 되어서 트럭이 탈출해야 하는 상황을 처리합니다.
            if q[0][1] == t:
                w, t = q.popleft()
                weightsum -= w
        
        #  트럭이 탈출하는 시점으로 이동합니다.
        if len(q) > 0:
            w, t = q.popleft() # w만 추출하고 t는 안 건드리고 그대로
            weightsum -= w
        
    # 큐의 트럭들을 모두 탈출시킵니다.
    while len(q) > 0:
        w, t = q.popleft()
    
    return t




참고

https://www.ai-bio.info/programmers/42583

This post is licensed under CC BY 4.0 by the author.
3D GIF