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 |
Tags
- Python
- 백준온라인저지
- 정렬
- Autolayout
- Algorithm
- Til
- dfs
- ios
- 공부
- 프로그래머스
- 파이썬 풀이
- SwiftUI
- 파이썬
- 알고리즘
- iOS개발
- Android
- Clean Architecture
- Kotlin
- Swift공부
- 알고리즘 공부
- 그리디 알고리즘
- 백준 온라인 저지
- greedy algorithm
- 안드로이드 공부
- error
- swift
- 앱개발
- 오토레이아웃
- UIKit
- BFS
Archives
- Today
- Total
Tori의 개발 공부
[python] 11047번 - 동전 0 본문
문제
파이썬 문제 풀이
동전의 개수를 최소로 하기 위해서는 가장 비싼 동전으로 최대한 바꾸고, 나머지에 대해 그다음 비싼 동전으로 바꿔가면서 나머지가 0이 되도록 하는 방법을 사용한다.
import sys
input = sys.stdin.readline
N, K = list(map(int, input().rstrip().split()))
coin = []
for i in range(N) :
coin.append(int(input().rstrip()))
coin.reverse()
count = 0
for i in coin:
if K == 0 :
break
count += (K // i)
K %= i
print(count)
가장 비싼 동전부터 접근하기 위해 오름차순으로 입력받은 동전을 reverse해줘 내림차순으로 바꾸어주었다.
count는 동전의 수이다. 현재 동전으로 줄 수 있는 만큼(몫)을 count에 더해주고 나머지를 다음 동전으로 바꾸어 주도록 K에 다시 저장하였다.
'Algorithm > 백준 문제풀이' 카테고리의 다른 글
[python] 2606번 - 바이러스 (0) | 2021.12.07 |
---|---|
[python] 1260번 - DFS와 BFS (0) | 2021.12.07 |
[python] 13305번 - 주유소 (0) | 2021.11.24 |
[python] 1931번 - 회의실 배정 (0) | 2021.11.23 |
[python] 1541번 - 잃어버린 괄호 (0) | 2021.11.23 |