백준 14916
import math
ex = int(input())
count = 0
if ex <= 1 or ex == 3:
print("-1")
elif ex % 5 == 0:
count = ex / 5
count = math.trunc(count)
print(count)
else:
while ex % 5 != 0:
ex -= 2
count +=1
count += ex / 5
count = math.trunc(count)
print(count)
처음에는 문제를 보자마자 5로 나눈 뒤에 그 몫을 2로 나누면 되는 줄 알았다.
큰 수로 나누기만 하면 동전의 갯수가 최소가 될 거라는 안일한 생각을 했다.
13과 같이 무작정 5로 나누면 2로 거슬러 줄 수 없는 수가 있다.
또한 1, 3 같은 경우는 따로 거슬러 줄 수 없다.
다 풀고 나서 다른 사람들의 풀이를 보니 dp를 이용해서 훨씬 간결하게 풀이를 했다.
dp 기초 문제를 좀 더 접해봐야겠다