[알고리즘/프로그래머스] - 다리를 지나는 트럭(python)

유현민·2022년 6월 3일
0

알고리즘

목록 보기
200/253
post-custom-banner

문제

다리의 무게를 sum으로 구하면 시간 초과가 난다.

합을 담을 변수를 주고 만약 bridge[0]이 0이 아니면 빼준다.

트럭의 0번째를 s와 더했을 때 무게를 넘지 않으면 bridge에 append 넘으면 그대로

from collections import deque


def solution(bridge_length, weight, truck_weights):
    answer = 0
    bridge = deque([0] * bridge_length)
    trucks = deque(truck_weights)
    s = 0
    while bridge:
        answer += 1
        tmp1 = bridge.popleft()
        if tmp1:
            s -= tmp1

        if trucks:
            tmp2 = trucks[0]
            if s + tmp2 <= weight:
                s += tmp2
                bridge.append(tmp2)
                trucks.popleft()
            else:
                bridge.append(0)
    return answer
profile
smilegate
post-custom-banner

0개의 댓글