본문 바로가기

Algorithm/Baekjoon

Baekjoon #5585 - 거스름돈

목차

1. 문제

2. 입출력 예시

3. 문제 풀이

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)

'Algorithm > Baekjoon' 카테고리의 다른 글

Baekjoon - #2217 - 로프  (0) 2021.03.23
Baekjoon #1541 - 잃어버린 괄호  (0) 2021.03.22
Baekjoon #1931 - 회의실 배정  (0) 2021.03.21
Baekjoon #11047 - 동전 0  (0) 2021.03.20
Baekjoon #11399 - ATM  (0) 2021.03.20