나의 풀이
c = int(input())
arr = [0,2,1,3,2,1,3,2,4,3]
if c == 1 or c == 3:
print(-1)
else:
print((c//10)*2 + arr[c%10])
고수의 풀이
n=int(input())
print((n//5+[0,2,1,3,2][n%5],-1)[n in(1,3)])
CODE REVIEW
- 두 자리 숫자부터는
10=5원*2
로 생각해서 10마다 2씩 늘려주면된다. 따라서 거스름돈을 10으로 나눈 몫(q)과 나머지(r)에 집중해서 풀면 된다. - 고수의 풀이의 경우 5로 나눈 몫과 나머지를 가지고 문제를 풀어주었다. 나머지 논리는 동일!