문제 링크 : 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보다 클 때만 계산해줍니다.
'알고리즘 문제 > 백준' 카테고리의 다른 글
백준 10809번. 알파벳 찾기 (Java) (0) | 2019.01.07 |
---|---|
백준 8959번. OX퀴즈 (Java) (0) | 2019.01.07 |
백준 15552번. 빠른 A+B (Java) (2) | 2019.01.05 |
백준 2438번. 별 찍기 - 1 (Java) (0) | 2019.01.05 |
백준 1924번. 2007년 (Java) (0) | 2019.01.05 |