CodingTest/Content
백준 14916번 거스름돈 풀이 및 정답(python)
코딩손
2025. 3. 23. 23:25
문제 설명
주어진 금액을 5원과 2원짜리 동전을 가지고
최소의 동전으로 거슬러 주는 문제입니다.
풀이
5원을 가장 많이 쓰는 방향을 찾아야합니다.
주어지는 수를 5원으로 나눈 뒤 2원으로 나눠지는 값이 있는지 찾습니다.
예를 들어 21원인 경우
5원으로 4개, 2원으로 나눌 수 없음
5원으로 3개, 2원로 거슬러 줄 수 있음 <= 해당 케이스가 정답이 됩니다.
정답 예시 코드
givenMoney = int(input())
maxValue = givenMoney // 5
fiveCoin = maxValue
while fiveCoin >= 0:
remain = givenMoney - (fiveCoin * 5)
if (remain % 2) == 0:
print(fiveCoin + (remain // 2))
break
fiveCoin -= 1
if fiveCoin == -1:
print(-1)