Programming/Python
[프로그래머스] 스택/큐 - 다리를 지나는 트럭 (Python3, 파이썬)
qkselc
2022. 1. 29. 06:49
문제
bridge_length, weight, truck_weights 3개가 주어진다.
트럭은 1초에 1만큼 움직인다.
트럭의 개수와 상관없이 다리 길이만큼의 시간은 무조건 소요된다.
주의할 점은 현재 다리를 건너는 트럭 무게의 합은 다리가 견딜 수 있는 무게보다 작아야 한다.
+ 다리에 완전히 오르지 않은 트럭의 무게는 무시한다.
코드
def solution(bridge_length, weight, truck_weights):
bridge = [0]*bridge_length
answer=0
while bridge:
answer+=1
bridge.pop(0)
if truck_weights:
if sum(bridge)+truck_weights[0]<=weight:
bridge.append(truck_weights.pop(0))
else:
bridge.append(0)
return answer
다리의 길이만큼 0이 들어있는 bridge라는 리스트를 만든다.
pop과 append를 적절히 활용하여 bridge의 값으로 while문을 돌린다.
if문으로 다리 위의 트럭 무게와 truck_weights 0번 인덱스의 값을 더했을 때 다리의 무게보다 가벼운지 검증한다.
아닐 경우 0을 추가하고 맞을 경우 트럭을 추가한다.
참고 링크 : https://jeonzzang.tistory.com/45