1970. 쉬운 거스름돈
문제
우리나라 화폐 ‘원’은 금액이 높은 돈을 우선적으로 계산할 때 돈의 개수가 가장 최소가 된다.
S마켓에서 사용하는 돈의 종류는 다음과 같다.
50,000 원
10,000 원
5,000 원
1,000 원
500 원
100 원
50 원
10 원
S마켓에서 손님에게 거슬러 주어야 할 금액 N이 입력되면 돈의 최소 개수로 거슬러 주기 위하여 각 종류의 돈이 몇 개씩 필요한지 출력하라.
[예제]
N이 32850일 경우,
50,000 원 : 0개
10,000 원 : 3개
5,000 원 : 0개
1,000 원 : 2개
500 원 : 1개
100 원 : 3개
50 원 : 1개
10 원 : 0개
[제약 사항]
1. N은 10이상 1,000,000이하의 정수이다. (10 ≤ N ≤ 1,000,000)
2. N의 마지막 자릿수는 항상 0이다. (ex : 32850)
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 N이 주어진다.
[출력]
각 줄은 '#t'로 시작하고, 다음줄에 각 돈의 종류마다 필요한 개수를 빈칸을 사이에 두고 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
T = int(input())
for _ in range(T):
# 사용되는 화폐의 종류
money = [50000, 10000, 5000, 1000, 500, 100, 50, 10]
m = int(input()) # 입력되는 돈
li = [] # 종류당 개수가 담길 리스트
for i in money:
li.append(m // i) # 종류당 돈의 개수
m = m % i # 남은 거스름돈
print(f"#{_ + 1}")
print(*li)
|
cs |
문제 출처 : https://swexpertacademy.com/main/main.do
※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.
학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.
'Develop > Python + SWEA' 카테고리의 다른 글
[SW Expert Academy] 4466. 최대 성적표 만들기 (0) | 2022.02.20 |
---|---|
[SW Expert Academy] 1959. 두 개의 숫자열 (0) | 2022.02.19 |
[SW Expert Academy] 5431. 민석이의 과제 체크하기 (0) | 2022.02.19 |
[SW Expert Academy] 1974. 스도쿠 검증 (0) | 2022.02.16 |
[SW Expert Academy] 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2022.02.16 |