코딩테스트/자료구조(스택,큐,해시,힙)

[큐] (프로그래머스_42583) 다리를 지나는 트럭 - 파이썬

영최 2024. 9. 5. 16:41
728x90

링크: https://school.programmers.co.kr/learn/courses/30/lessons/42583

✅ bridge의 길이를 유지하기 위해 0으로 채우고 시간이 지날때마다 우선 popleft

✅ sum 대신 total을 써야 시간 초과안남

from collections import deque
def solution(bridge_length, weight, truck_weights):
    bridge = deque([ 0 for _ in range(bridge_length)])
    
    trucks = deque([ truck for truck in truck_weights])
    answer = 0
    total = 0
    while trucks:
        cur_truck = bridge.popleft()
        total-= cur_truck
        if total + trucks[0]<=weight:
            next_truck = trucks.popleft()
            bridge.append(next_truck)
            total+=next_truck
        else:
            bridge.append(0)
            
        answer+=1
    
    
    return answer+bridge_length
728x90