프로그래머스 : 다리를 지나는 트럭
Updated:
-
문제 링크 : 다리를 지나는 트럭
-
입출력 예
bridge_length | weight | truck_weights | return |
---|---|---|---|
2 | 10 | [7,4,5,6] | 8 |
100 | 100 | [10] | 101 |
100 | 100 | [10,10,10,10,10,10,10,10,10,10] | 110 |
- Python3
def solution(bridge_length, weight, truck_weights):
answer = 1
visited = []
visiting = []
now_weight = 0
t_l = len(truck_weights)
while len(visited) != t_l:
answer += 1
for i in range(len(visiting)):
visiting[i][0] += 1
# 현재 다리의 하중이 트럭 무게를 견딜 수 있으면
if len(truck_weights) != 0 :
if now_weight + truck_weights[0] <= weight:
# 현재 weight 업데이트
val = truck_weights[0]
now_weight += val
visiting.append([1, val])
truck_weights.pop(0)
# 다리를 다 건넜으면
size = len(visiting)
for _ in range(size):
temp = visiting.pop(0)
if temp[0] == bridge_length:
now_weight -= temp[1]
visited.append(temp[1])
else :
visiting.append(temp)
return answer
solution(2, 10, [7,4,5,6])