BAEKJOON (Python)/Greedy Algorithm

BAEKJOON_14916 "거스름돈" PYTHON

RiLLa_0511 2023. 4. 18. 20:54
728x90

[백준] 14916번 Python 파이썬

 

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

 

14916번: 거스름돈

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

www.acmicpc.net

 

거스름돈을 남겨줄 수 없는 경우는 n이 1이거나 3일 때이다.

 

n을 5로 나누고 남은 나머지가 홀수라면 다시 나머지에 5를 더하고 2로 나누어 주고, 5로 나누고 남은 나머지가 짝수라면 바로 2로 나누어준다.

 

coin = [5, 2]

n = int(input())
count = 0

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

거스름돈 문제는 이제 자신 있다고 생각했는데 여러 번의 시도로 맞았다..

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.