[프로그래머스]다리를 지나는 트럭

링크 : 문제 바로가기

def solution(bridge_length, weight, truck_weights):
    answer= 0
    bridge= [0]*bridge_length
    
    while truck_weights != []:
        
        bridge.pop(0)
        if sum(bridge)+truck_weights[0] <= weight:
            bridge.append(truck_weights.pop(0))
        else:
            bridge.append(0)
        answer+=1
        
    answer+=bridge_length
    
    return answer

truck_weights에 모든 트럭이 없어질 때까지 while문으로 다리가 견딜 수 있으면 트럭을 올리고 아니면 그냥 계속 밀어내는 식으로 진행하다가 while문이 끝나면, 이는 모든 트럭이 출발을 마쳤고 마지막으로 출발한 트럭만 들어오면 끝이라는 소리이므로 가장 마지막에 출발한 트럭이 들어오려면 다리의 총 길이만큼 초가 필요하므로 마지막에 이 값을 더해준다.

알고리즘 : 스택/큐

results matching ""

    No results matching ""