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(배달원,택배))