백준(Python) 풀이/수학

백준(Python) 14916번 거스름돈 풀이

개발윗미 2021. 10. 30. 13:45

Python으로 구현한 14916번 거스름돈 문제 풀이입니다.

 

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

 

14916번: 거스름돈

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

www.acmicpc.net


import sys

n = int(sys.stdin.readline())
value = n % 5

if n == 1 or n == 3 :
  print(-1)
elif value % 2 == 0 :
  print(n // 5 + value // 2)
else :
  print((n // 5) - 1 + (value + 5) // 2)

 

거스름돈(n)을 입력받고 n을 5로 나눈 나머지 값을 value에 할당한다.

 

만약 입력받은 n의 값이 1이거나 3일 경우 계산할 수 없기 때문에 -1을 출력한다.

 

만약 n을 5로 나눈 나머지 값인 value가 2로 나누어 떨어지면 n을 5로 나눈 몫과 value를 2로 나눈 몫을 더하여 출력한다.

 

모두 해당되지 않는다면 2로 나누어 떨어지지 않기 때문에 5원을 이용하여 계산한 값에서 1을 빼고 value값에 5를 더하여 계산한다.