-> trucks = 0
specs를 dict형으로 변환
names for 문으로 순회하면서, 무게를 더함.
무게가 max_weight 보다 클 경우, 무게를 초기화 하고 다시 적재
최종적으로 trucks 리턴
name으로 순회를 다 돌고나서, weight에 무게가 남아 있을 경우, trucks += 1 (마지막에 무게를 확인), 위의 코드로는 max_weight 초과 -> 출발 -> 무게 적재 끝.
인데 무게 적재만 하고, 트럭을 출발 안시킴
def solution(max_weight, specs, names):
specs = {k:v for k,v in specs}
trucks = 0
weight = 0
print(specs[names[0]])
for name in names:
# 이전에 뭐 하나라도 싣었고, 다음 물건을 싣었을 때 초과 되면, 트럭 출발
if weight + int(specs[name]) > max_weight and weight > 0:
trucks += 1
weight = int(specs[name])
# weight + int(sepcs[name]) > ma
else:
weight += int(specs[name])
if weight > 0:
trucks += 1
return trucks
내 알고리즘은
이전에 적재된 무게 + 현재 호출된 상품 무게가 > 300일 경우 trucks += 1
그리고 weight = 현재 호출된 상품 무게 였다.
이러다 보니. 순회가 끝나고 나서, 마지막으로 호출된 상품도 트럭 수 에 포함 시켜야 하는데, 누락되었다.
간단하게, 순회를 돌고 마지막으로 적재된 무게가 0보다 크면, (하나 이상 적재되어 있을 경우) 트럭 수를 증가 시키는 것으로 해결하였다.