백준(Baekjoon Online Judge) - 5585번(거스름돈) 문제 풀이
Series: 알고리즘 문제풀이
알고리즘 문제풀이contains 12
- 1.Kakao, 2021 카카오 블라인드 코딩 테스트, 신규 아이디 추천
- 2.백준(Baekjoon Online Judge) - 2839번(설탕 배달) 문제 풀이
- 3.백준(Baekjoon Online Judge) - 11399번(ATM) 문제 풀이
- 4.백준(Baekjoon Online Judge) - 11047번(동전 0) 문제 풀이
- 5.백준(Baekjoon Online Judge) - 1931번(회의실 배정) 문제 풀이
- 6.백준(Baekjoon Online Judge) - 5585번(거스름돈) 문제 풀이
- 7.백준(Baekjoon Online Judge) - 1541번(잃어버린 괄호) 문제 풀이
- 8.백준(Baekjoon Online Judge) - 2217번(로프) 문제 풀이
- 9.백준(Baekjoon Online Judge) - 1946번(신입 사원) 문제 풀이
- 10.백준(Baekjoon Online Judge) - 10162번(전자레인지) 문제 풀이
- 11.백준(Baekjoon Online Judge) - 1339번(단어 수학) 문제 풀이
- 12.백준(Baekjoon Online Judge) - 4796번(캠핑) 문제 풀이
- 더보기
1. 문제
2. 입출력 예시
| 입력 예시 | 출력 예시 |
|---|---|
| 380 | 4 |
3 문제 풀이
이 문제는 간단히 해결할 수 있었다. 문제를 해결하기 위한 과정은 아래와 같다.
- 타로가 지불해야할 금액을 입력받으며, 타로가 지불하고자 하는 1,000엔에서 타로가 지불해야 할 금액을 뺀 거스름돈을 변수
m에 저장한다. - 각각의 동전의 종류(
500, 100, 50, 10, 5, 1)를 리스트 변수(flags)에 저장한다. - 동전 수량(
cnt)은 0으로 초기화한다. - 반복문을 통해 동전의 종류를 호출하고, 거스름돈에서 해당 동전을 나눈 몫을 동전 수량에 더한 후 거스름돈은 거스름돈에서 해당 동전을 나눈 나머지로 초기화한다.
- 모든 반복이 완료되면 동전 수량을 출력한다.
이를 코드로 나타내면 아래와 같으며, 메모리 28,776 KB와 시간 64 ms가 소요되었다.
m = 1000 - int(input())
flags = [500, 100, 50, 10, 5, 1]
cnt = 0
for flag in flags:
cnt += m // flag
m = m % flag
print(cnt)