[프로그래머스] 택배 배달과 수거하기

이재윤·2025년 2월 11일
0

https://school.programmers.co.kr/learn/courses/30/lessons/150369

1) 코드

def solution(cap, n, deliveries, pickups):
    
    answer = 0 
    have_to_deli = 0
    have_to_pick = 0
    
    for i in range(n-1, -1, -1):
        have_to_deli += deliveries[i]
        have_to_pick += pickups[i]
        
        while have_to_deli > 0 or have_to_pick > 0:
            have_to_deli -= cap
            have_to_pick -= cap
            answer += ((i+1)*2)
    
    return answer

2) 해설

  • Greedy로 접근해서 해결할 수 있는 문제이다.
    -> 가장 먼 위치부터, 배달과 픽업을 반복적으로 하면서
    트럭을 이동시킨다.

0개의 댓글