def sol(n,l):
# n:택배원 수, l:택배들
answer = 0
#택배원 수 만큼의 배열 생성
man = [0]*n
#모든 택배가 상차 되었을 경우 종료
while sum(l)!=0:
#택배원 수 만큼 반복
for j in range(len(man)):
# 택배원이 배달하고있는 택배의 잔여거리가 0인경우(배송완료인경우) 택배상차
if man[j] == 0 and l:
man[j]+=l.pop(0)
#택배원들 배송거리 -1 처리
man = list(map(lambda x : x-1,man))
# 1회 반복단 1의 시간증가
answer+=1
# 남은 택배 잔여거리중 가장 많은 시간이 남은 택배를 더해줌
answer+=max(man)
return answer
-동영상 강좌 풀이 Code-
def solution(택배원의수, 택배거리):
time = 0
택배원택배거리 = [0] * 택배원의수
while 택배거리:
for i in range(택배원의수):
if 택배원택배거리[i] == 0 and 택배거리:
택배원택배거리[i] = 택배거리.pop(0)
택배원택배거리 = list(map(lambda x: x-1, 택배원택배거리))
time += 1
print('------------')
print(택배원택배거리, time)
print('-----end while------')
print(택배원택배거리, time)
time += max(택배원택배거리)
return time
배달원 = 3
택배 = [1,2,1,3,3,3]
택배원택배거리 = [0, 0, 0]
print(solution(배달원,택배))