algorithm/Greedy
백준 2839 설탕배달
hw.kr
2022. 8. 29. 21:09
https://www.acmicpc.net/problem/2839
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
📌 해결순서
1. 사용하는 봉지의 갯수를 최소화 해야 하므로, 3kg 보다 5kg를 최대한 많이 이용해야한다.
2. 설탕의 무게가 5로 나누어질 때까지 3을 빼주고 cnt += 1 을 해준다.
3. while 문을 빠져나왔을때 설탕의 무게가 음수라면 정확하게 N kg를 만들수 없음을 의미한다.
📌 코드
while문 에서도 else를 사용해서 훨씬 코드를 간결하게 만들수 있다.
import sys
input = sys.stdin.readline
sugar = int(input())
cnt = 0
while sugar >= 0:
if sugar % 5 == 0:
cnt += sugar // 5
print(cnt)
break
sugar -= 3
cnt += 1
else:
print(-1)