2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
설탕 N(kg) 배달, 봉지는 3kg짜리와, 5kg 짜리가 있음
최대한 봉지를 적게 가져가는 것은?
단, 정확하게 Nkg을 배달할 수 없으면, -1을 출력
거스름돈 문제와 비슷해 보이지만, 모든 경우의 수를 다 해봐야한다는 차이가 있음.
풀이:
5kg짜리 봉지를 많이 사용하는 순으로 --> 남는 양이 3의 배수인 지 체크하면서 갯수를 저장
ex. N=18 --> 5kg짜리를 3,2,1,0 순으로 사용하고--> 그때 남는 양이 3kg 봉지에 들어갈 수 있는지를 체크
def solve(N):
n = N//5
for i in range(n+1):
temp = N-(n-i)*5
if temp%3==0: return (n-i+temp//3)
return -1
if __name__=='__main__':
N = int(input())
print(solve(N))
'공부하는 것들 > 알고리즘' 카테고리의 다른 글
백준 17224 : APC는 왜 서브태스크 대회가 되었을까?(그리디) (0) | 2021.02.26 |
---|---|
백준 159094 : UCPC는 무엇의 약자일까?(그리디) ** (0) | 2021.02.25 |
백준 2828 : 사과 담기 게임(그리디) ** (0) | 2021.02.25 |
백준 5585 : 거스름돈 (그리디) (0) | 2021.02.24 |
백준 2810 : 컵홀더(그리디)*** (0) | 2021.02.24 |