
n = int(input())
smallest = n
five = n//5
for i in range(five, -1, -1):
if ((n - i*5)%3 == 0):
three = (n - i*5)//3
small = i+three
if (small < smallest):
smallest = small
if (smallest != n):
print(smallest)
else:
print(-1)
sugar = int(input())
bag = 0
while sugar >= 0 :
if sugar % 5 == 0 :
bag += (sugar // 5)
print(bag)
break
sugar -= 3
bag += 1
else :
print(-1)
💡 이 문제의 경우 for문보다 while문으로 해결하는 것이 시간이 단축된다
💡 내 코드에서는 5킬로그램 가방의 개수를 먼저 구하는 반면, 나누어떨어지지 않을 경우 3킬로그램을 빼 5킬로그램으로 나누어떨어지도록 하였다
💡 while-else문을 처음 알았다. while-else문은 while문을 계속 실행하다 개수를 찾은 경우 break로 나가 종료되고, 마지막까지 찾지 못해 조건문이 False가 되면 else문을 실행한다