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

이번에 풀어야 할 문제는 트럭이 다리를 건너는 문제입니다. 문제 설명은 다음과 같습니다.

쉬운 목차

문제


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


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

연산

이 문제는 스택과 큐로 해결됩니다(하지만 꽤 어려웠습니다…). 처음에는 거리상황을 스택으로 어떻게 표현할까 많이 고민했는데… 약간의 참고를 통해 거리상황은 거리길이 * 0으로 구성된 스택으로 표현할 수 있다는 것을 배웠습니다. 예를 들어 거리의 길이가 7이고 7과 3이 거리에 있는 경우 상황은 다음과 같이 표현할 수 있습니다.

(0,0,0,7,3,0,0)

이와 같이 시간이 지날 때마다 첫 번째 숫자는 제거되고 조건이 충족되면 끝에 새로운 숫자가 추가됩니다.

우리가 가진 조건은 도로를 달리는 차량의 무게가 한도 이하여야 한다는 것이었습니다. 그런 다음 한도를 초과하면 0을 삽입할 수 있도록 기다려야 하고 한도 미만이면 truck_weights에 숫자를 추가할 수 있습니다.

여기서 중요한 점은 예제 5에서 sum() 함수를 사용할 때 timeout 에러가 발생한다는 점입니다. 그래서 매번 합계로 계산하는 대신 매번 더해서 시간 초과 오류를 해결했습니다.

코드는 다음과 같습니다.

암호


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