[파이썬/Python/프로그래머스] 스택/큐 > 다리를 지나는 트럭

SooYeon Yeon·2022년 8월 4일
0

파이썬/알고리즘

목록 보기
28/35

풀이

def solution(bridge_length, weight, truck_weights):
    answer = 0
    ing_bridge = [0 for x in range(bridge_length)]
    while ing_bridge:
        ing_bridge.pop(0)
        if truck_weights:
            if sum(ing_bridge)+truck_weights[0]<=weight:
                ing_bridge.append(truck_weights.pop(0))
            else:
                ing_bridge.append(0)
        answer+=1

    return answer
  • 지나는 중인 bridge 리스트를 생성해 그 안에 들어갈 수 있는(bridge_length)만큼 0을 추가해놓는다.
  • 그리고 1초가 지날때마다 ing_bridge의 첫번째 원소를 빼고, truck_weights에 원소가 있다면, truck_weights의 첫번째 원소와, ing_bridge의 합을 더한 값이 weight를 초과하지 않으면 truck_weights의 첫번쨰 원소를 pop시키면서 ing_bridge에 append 시킨다. 해당 조건에 부합하지 않으면 0을 추가하고 반복한다.

0개의 댓글