'
문제풀이
- 1과 3인 경우에는 거스름돈을 줄 수 없음 => -1
- 최소값을 구해야하므로 5원으로 최대한 나눠줘야하는데 13 경우에는 5원으로 2번나누게 되면 3원이 남아 2원 거스름돈 나눠줄 수 없음
- 5로 최대한 나눴을 때 남는 수는 1, 2, 3, 4중에 하나이다
- 나는 n원과 5원의 최대 몫을 구한후에 n의 나머지가 2로 나눠지지 않으면 5원을 한개 더해주어 2로 나누어질 수 있게 했음 (1+5 => 6, 3+ 5 => 8)
n = int(input())
count = 0 # 거스름돈 최소 개수
if n == 1 or n == 3:
print(-1)
else:
count += n // 5
n = n - (count * 5)
if n % 2 != 0:
count -= 1
n += 5
count += n // 2
n = n - (count * 2)
else:
count += n // 2
n = n - (count * 2)
print(count)