プログラマー:ブリッジトラック(Python,lv 2)



正しいコード

def solution(bridge_length, weight, truck_weights):
    answer = 0
    trucks_on_bridge = [0 for i in range(bridge_length)] #0은 다리의 한 칸의 공백을 표현
    
    while len(trucks_on_bridge): #queue에 남은 value가 있을 때
        answer += 1 #answer은 시간
        trucks_on_bridge.pop(0)
        
        if truck_weights: #다리를 건너지 못한 트럭이 있을 경우
            if sum(trucks_on_bridge) + truck_weights[0] <= weight:
                trucks_on_bridge.append(truck_weights.pop(0)) #truck_weight의 front 값을 queue에 넣고 pop
            else:
                trucks_on_bridge.append(0) #다리의 한 칸의 공백을 표현
                
    return answer