n = int(input())
result = 0
while n > 0:
if n % 5 == 0: # 5킬로그램 봉지로 정확히 나누어 떨어지는 경우
result += n // 5
n = 0
break
n -= 3 # 5킬로그램 봉지로 나누어 떨어지지 않으면 3킬로그램 봉지 사용
result += 1
if n < 0: # 정확한 무게를 만들 수 없는 경우
result = -1
print(result)
킬로 수에 해당하는 n을 입력받고 result 에는 봉지 수를 저장한다.
while 반복문을 통해서 문제를 해결한다
n 이 5로 나누어 떨어지면 5로 나눈 값이 바로 봉지 수 이기에 몫을 result 에 반복문을 빠져나오기 위해 break, n = 0 으로 해주는 이유는 나누어 떨어지지 않을 경우를 판별하기 위해서이다.
5로 나누어 떨어지지 않을 경우는 3킬로그램 봉지를 사용하기 때문에 n - 3 과 봉지 수 + 1 해준다.
반복문을 빠져나왔으면 그대로 값을 출력하면 되지만, 5킬로 와 3킬로 봉지로 정확한 무게를 만들 수 없는 경우를 n < 0 이라고 했다
이는 완벽히 나누어 떨어지지 않는다면 반복문 내에서 n -= 3 부분이 있기에 n이 음수가 되기 때문이다.