[Python] 백준/BOJ - 5885번: 거스름돈

2021. 10. 15. 18:59·Algorithm/Problem Solving
반응형
 

5585번: 거스름돈

타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사

www.acmicpc.net

문제

타로는 잡화점에서 물건을 산다. 잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 잡화점에서 물건을 계산할 때 1000엔 지폐를 한 장 냈을 때, 받을 잔돈의 개수를 구하시오.

 

입력

타로가 지불할 돈(구매할 상품의 가격)(1이상 1000미만의 정수)

 

출력

잔돈에 포함된 매수

 

 

예제 입력 1

380

 

예제 출력 1

4

 

예제 입력 2

1

 

예제 출력 2

15

 

풀이

전형적인 그리디 알고리즘을 이용하여 푸는 문제이다.

 

pay = int(input())
cnt = 0
coins = [500, 100, 50, 10, 5, 1]
n = 1000 - pay # 잔돈 계산

for coin in coins: # 큰 돈부터 차례대로 확인
    cnt += n // coin
    n %= coin

print(cnt)

 

먼저 가지고 있는 거스름돈의 종류들을 리스트에 넣어준다. 그리고 나서 타로가 낸 돈에서 상품 가격을 빼서 잔돈을 얼마나 줘야하는지 계산한다.

 

for문을 coins에 있는 큰 단위의 돈부터 확인하며 돌아준다. cnt에는 n // coin을 넣어주면 되는데 이렇게 하면 그 돈을 몇개를 거슬러줄지 알 수있게 된다.

예를 들어 거슬러줄 돈이 1200원이고 500원으로 나눠주면 1200 // 500은 2로, 500원 2개를 거슬러주는 것이다.

 

이를 cnt에 더해준 뒤에는 n을 coin으로 나눈 나머지를 n에 넣어주면 된다.

이것도 예를 들어보면, 1200 % 500을 해주면 200으로, 500원으로 줄 수있는 잔돈을 모두 주고난 뒤 남은 돈이 다시 n에 들어가는 것이다.

 

끝!

반응형

'Algorithm > Problem Solving' 카테고리의 다른 글

[Python] 백준/BOJ - 1157번: 단어 공부  (0) 2021.10.17
[Python] 백준/BOJ - 8958번: OX퀴즈  (0) 2021.10.16
[Python] 백준/BOJ - 11399번: ATM  (0) 2021.10.09
[JS] LeetCode - 2. Add Two Numbers  (0) 2021.10.01
[JS] 봉우리  (0) 2021.09.09
'Algorithm/Problem Solving' 카테고리의 다른 글
  • [Python] 백준/BOJ - 1157번: 단어 공부
  • [Python] 백준/BOJ - 8958번: OX퀴즈
  • [Python] 백준/BOJ - 11399번: ATM
  • [JS] LeetCode - 2. Add Two Numbers
SH_Roh
SH_Roh
  • SH_Roh
    혼자공부끄적끄적
    SH_Roh
  • 전체
    오늘
    어제
    • 분류 전체보기 (159)
      • FE (39)
        • HTML, CSS (3)
        • Javascript (17)
        • React (11)
        • Next.js (4)
      • Network (1)
      • DevOps (4)
      • Git (1)
      • Trouble Shooting (24)
      • Algorithm (41)
        • Python (2)
        • Data Structure, Algorithm (7)
        • Problem Solving (31)
      • Education (23)
        • Elice AI Track (4)
        • Wanted Pre-Onboarding FE Co.. (19)
      • TIL (25)
      • Etc. (1)
        • 회고 (1)
        • 그냥저냥 (0)
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SH_Roh
[Python] 백준/BOJ - 5885번: 거스름돈
상단으로

티스토리툴바