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

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

코드

def solution(bridge_length, weight, truck_weights):
    answer = 0
    N=len(truck_weights)
    end,going=[],[0]*bridge_length
    while len(end)!=N:
        ck=going.pop(0)
        if ck:
            end.append(ck)
        if truck_weights:
            if sum(going)+truck_weights[-1]<=weight:
                going.append(truck_weights.pop())
            else:
                going.append(0)
        else:
            going.append(0)
        answer+=1
    return answer

문제를 낸 목적은 아닐수 있지만 시뮬레이션으로도 풀 수 있었던 문제다.

다리 길이만큼 0으로 이루어진 배열을 선언하고

매 초마다 트럭이 진입할 수 있다면 트럭을, 없다면 0을 배열에 넣어주고 첫번 째 값을 가져온다.

다리를 통과한 트럭의 개수가 총 트럭의 수와 같다면 종료한다.

Discussion and feedback