Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SWEA
- pytorch
- CS231n
- ubuntu
- 머신러닝
- cs
- STL
- Object detection
- Python
- 프로그래머스
- docker
- 3단계
- 1단계
- 파이썬
- 그리디
- 모두를 위한 딥러닝 강좌 시즌1
- 전산기초
- 자료구조 및 실습
- C++
- 2단계
- 구현
- AWS
- 코드수행
- test-helper
- MySQL
- 실전알고리즘
- 백준
- ssd
- 딥러닝
- 이것이 코딩테스트다 with 파이썬
Archives
- Today
- Total
곰퓨타의 SW 이야기
[백준 5585 거스름돈] 그리디 알고리즘 활용하기 본문
이번에 해결한 문제는 다음과 같다.
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
다음과 같은 아이디어를 바탕으로 아래와 같이 코드를 작성하였다.
money = int(input())
coin = [500,100,50,10,5,1]
count,i = 0,0
money = 1000 - money
while money > 0 :
if money > coin[i] :
count += 1
money -= coin[i]
elif money == coin[i]:
count += 1
break
else :
i += 1
print(count)
책에서 제시하는 문제는 살짝 다르므로, 책에서 제시한 알고리즘을 이 문제에 적용시키면 다음과 같은 코드가 작성된다.
n = int(input())
count = 0
coin_types = [500,100,50,10,5,1]
n = 1000-n
for coin in coin_types :
count += n // coin
n %= coin
print(count)
'TIL > 백준' 카테고리의 다른 글
[백준 12100 2048(easy)] 하나하나 차근차근 풀어보기,, (0) | 2021.04.24 |
---|---|
[백준 14499번 주사위굴리기] 경우의 수 차근차근 따지기 (0) | 2021.04.24 |
[백준 1759 암호 만들기] 조건 주의하기 (0) | 2021.04.15 |
[백준 1929 소수 구하기] set 함수 주의 (0) | 2021.04.15 |
[백준 14889 스타트와 링크] 문제를 이해하기! (0) | 2021.01.30 |
Comments