본문 바로가기
*Algorithm/Baekjoon

[Baekjoon] 백준 5585번 거스름돈(파이썬 Python)

by codinguser 2020. 8. 30.

백준_알고리즘
© 2020 All Rights Reserved.  주식회사 스타트링크

 

[Baekjoon] 백준 5585번 거스름돈

(파이썬 Python)

 

* 문제출처 : 백준 알고리즘 문제

* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.

 

 

 

백준 5585번 거스름돈


 

1) 문제

 

백준 5585번 거스름돈

 

5585번: 거스름돈

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

www.acmicpc.net

 

 

 

 

 

 


2) 풀이 과정

 

1. 가장 적게, 많게 라는 문구에서 그리디 알고리즘 생각

 

2. 사용자의 입력을 받고 정수로 받게끔 int(input())

Why? 맨 처음에 input()만 해보니, 안되더라 int()를 꼭 써줘야함.

 

3. 몫과 나머지를 구해줘서 나눠주면 충분히 풀 수 있는 문제. 

How? 가장 먼저 큰 동전 수로 나눠주면, 최소의 개수로 구할 수 있기에 가장 큰 동전의 수 부터 나눠주며 순차적으로 풀면 됨

 

 

 

 

 

 

 

 


3) 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
money = int(input())
count = 0;
 
money = 1000-money
 
count += (money // 500)
money %= 500
 
count += (money // 100)
money %= 100
 
count += (money // 50)
money %= 50
 
count += (money // 10)
money %= 10
 
count += (money // 5)
money %= 5
 
count += (money // 1)
money %= 1
 
print(count)
cs

 

 

 

 


4) 정리 노트

 

Input() # 사용자 입력을 받는 함수

 

int(input()) # 사용자 입력을 정수로 받고 싶을때 사용

 

 

댓글