본문 바로가기

백준 문풀

[Python] 그리디-14916. 거스름돈 (실5)

https://www.acmicpc.net/problem/14916

 

14916번: 거스름돈

첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.

www.acmicpc.net

 

문제포인트

- 5로 최대한 많이 나누어주고 나머지가 짝수인지 판별

- 짝수가 아니라면 5의 개수를 하나씩 줄이며 가능여부 판단하기

- range를 뒤로 가게 하여 가능여부 최대한 빠르게 판별하는 것이 관건

 

 

 

#14916
#최대한 5 로 많이 가져가고 하나씩 줄이며 2로 가능한지 보기


n= int(input())
result=-1

for i in range(n//5,-1,-1):
  if (n-i*5)%2==0: #나머지가 짝수라면 ->가능
      result= i+ (n-i*5)//2
      break

print(result)