코딩테스트

11/04 코딩테스트 프로그래머스 다리를 지나는 트럭

박준희 2021. 11. 4. 16:27
728x90

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

 

코딩테스트 연습 - 다리를 지나는 트럭

트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈

programmers.co.kr

 

def solution(bridge_length, weight, truck_weights):
    time = 0
    
    bridge = []
    
    currentWeight = 0
    while True:
        for x in bridge:
            x[1] += 1

        for x in bridge:
            if x[1] > bridge_length:
                tmp = bridge.pop(0)
                currentWeight -= tmp[0]
    
        if len(truck_weights) > 0 and currentWeight + truck_weights[0] <= weight:
            currentWeight += truck_weights[0]
            car = truck_weights.pop(0)
            bridge.append([car, 1])
        

        time += 1
        if len(bridge) == 0 and len(truck_weights) == 0:
            break
        
    return time

 

 

728x90