[풀이]
거스름돈 동전의 개수가 최소가 되려면 5로 나눈 몫과 5로 나눈 나머지를 2로 나눈 몫을 더하면 된다. 여기서 단순히 5로 나눈 몫을 최대로 하려면 2로 나누어지지 않은 경우가 생긴다 (예제의 13이 그 예가 된다.) 그러므로 입력받는 수가 5로 나누어지지 않는다면 2를 계속 빼서 5로 나누어지는 수로 만들면 된다.
[코드]
import sys
input = sys.stdin.readline
n = int(input())
count = 0
while True:
if n % 5 == 0:
count += (n // 5)
print(count)
break
else:
n -= 2
count += 1
if n < 0:
print(-1)
break
'Algorithm > 백준' 카테고리의 다른 글
백준 20115번(Python) : 에너지 드링크 (0) | 2021.03.15 |
---|---|
백준 1758번(Python) : 알바생 강호 (0) | 2021.03.15 |
백준 11508번(Python) : 2+1 세일 (0) | 2021.03.11 |
백준 10988번(Python) : 팰린드롬인지 확인하기 (0) | 2021.03.09 |
백준 2231번(Python) : 분해합 (0) | 2021.03.05 |