반응형
문제
https://www.acmicpc.net/problem/14916
14916번: 거스름돈
첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.
www.acmicpc.net
코드
n = int(input())
cnt = 0
while n > 0:
if n % 5 == 0:
cnt += n // 5
break
else:
n -= 2
cnt += 1
if n < 0:
print(-1)
else:
print(cnt)
설명
단순하게 5원부터 지급하고 나머지를 2원을 지급하려고 하면 오류가 난다.
거스름돈이 5의 배수여서 딱 나누어 떨어진다면 상관이 없지만
그렇지 않다면 2를 우선 빼주어서 계산을 해야 한다.
2를 빼다가 음수로 넘어가서 n이 음수가 된다면 -1을 출력하고
그렇지 않다면 결괏값을 출력해 주자.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1476: 날짜 계산 (0) | 2023.05.30 |
---|---|
[파이썬, Python] 백준 2491: 수열 (2) | 2023.05.26 |
[파이썬, Python] 백준 10825: 국영수 (0) | 2023.05.24 |
[파이썬, Python] 백준 2644: 촌수계산 (0) | 2023.05.23 |
[파이썬, Python] 백준 11931: 수 정렬하기 4 (0) | 2023.05.22 |