STUDY/알고리즘
[백준] 설탕 배달 (Python)
seonyounggg
2021. 3. 8. 21:29
✏️ 문제
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
✏️ 풀이
일단 5kg 봉지를 최대한으로 선택해야 총 개수를 줄일 수 있다.
따라서 5로 나눈 몫을 구해놓고,
그 나머지를 3짜리로 채우도록 시도한다.
만약 3으로 나눠떨어지지 않는다면 5짜리 봉지를 하나씩 빼면서 시도한다.
끝까지 3으로 나눠떨어지지 않는다면 N을 만들 수 없는 경우이므로 -1을 출력한다.
✏️ 코드
count = int(input())
big = count // 5
small = 0
rest = count - big*5
if big == 0:
if rest % 3 != 0:
print(-1)
else:
print(rest//3)
else:
while True:
if rest == 0:
print(big+small)
break
elif rest % 3 != 0:
if big == 0:
print(-1)
break
big -= 1
rest += 5
elif rest % 3 == 0:
small = rest // 3
print(big+small)
break