문제 링크 : https://www.acmicpc.net/problem/2839


배달 가능한 봉투 개수가 최소가 되는 값을 구하는 문제입니다.


간단하게 이전까지의 값을 저장하는 것으로 문제를 해결 할 수 있습니다.


봉투는 항상 3kg 또는 5kg 밖에 없다는 점을 이용합니다.


예를 들어 18 이라는 값이 들어오면 15kg + 3kg 또는 13kg + 5kg 라는 두 개의 경우가 있습니다.


15kg와 13kg에는 이전에 계산 해놓았기 때문에 이미 최소값이 들어가 있습니다.


그러므로 봉투 하나만 추가하면 됩니다.


이 중에서 더 작은 값을 저장하며 N까지 진행하면 됩니다.


** 딱 나누어 떨이지지 않는 값이 들어오면 -1을 출력해야 하기 때문에 아무런 값도 저장하지 않습니다.


7kg는 딱 나누어 떨어지지 않기 때문에 0이 들어있습니다.


10kg는 7kg + 3kg와 5kg + 5kg 중 더 작은 값이 들어가게 되는데 7kg가 0이라서 무조건 1이 들어가게 됩니다.


그러므로 i-3 또는 i-5 의 값이 0보다 클 때만 계산해줍니다.


+ Recent posts