CS/Algorithm 문제

[Programmers] 다리를 지나는 트럭

심심231 2021. 10. 7. 18:24

[Programmers] 다리를 지나는 트럭

 

🎈문제

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

💬설명

  • 처음에 다리 길이 만큼 [0, 0, ... 0] 이렇게 만들어주고 트럭이 올라가고 지나가는 것을 pop과 append로 구현해줬다.
  • 입출력이 순서가 있는 문제이므로 스택/큐 문제!

👩‍💻코드

def solution(bridge_length, weight, truck_weights):
    answer = 0
    bridge = [0 for _ in range(bridge_length)]
    weight_sum = 0
    
    while bridge:
        answer += 1
        weight_sum -= bridge.pop(0)
        # 다음 대기 트럭이 올라갈 수 있는지 무게 체크
        if not truck_weights:
            continue
        if weight_sum + truck_weights[0] <= weight:
            bridge.append(truck_weights[0])
            weight_sum += truck_weights[0]
            truck_weights.pop(0)
        else:
            bridge.append(0)
    return answer

 

728x90
반응형