본문 바로가기
코딩 테스트/문제 풀기

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

by hazel_ 2021. 3. 24.

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

 

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

트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이

programmers.co.kr

 

from collections import deque
def solution(bridge_length, weight, truck_weights):
    q=deque(truck_weights)
    cur=deque()
    time=0

    sum_v = 0
    while q:
        # 다리 다 건넌 트럭 빼기
        if len(cur)>0 and (bridge_length+cur[0][1]==time):
            sum_v -= cur[0][0]
            cur.popleft()
            
        # 다리 상태 확인 후 트럭 보내기
        if sum_v +q[0] > weight:
            pass
        else:
            pop_v=q.popleft()
            cur.append((pop_v,time))
            sum_v += pop_v
        time+=1

    return time+bridge_length

댓글