풀이
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을 추가하고 반복한다.