반응형
https://www.acmicpc.net/problem/2293
2293번: 동전 1
첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.
www.acmicpc.net
<문제 풀이>
- 앞서 포스팅한 동전 문제와 같은 dp문제이다.
[BAEKJOON] 9084 동전 - Python
9084번: 동전 (acmicpc.net) 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다.
kcw0360.tistory.com
- 전체적인 풀이방법은 동일하다.
- 주어지는 금액을 가지고 해당금액을 만들 수 있는 경우의 수를 구하는 문제이다.
- 주어지는 금액을 순서대로 반복하고, 주어지는 금액에 해당하는 금액부터 반복문을 시작하며 경우의 수를 구한다.
<Code>
N, K = map(int, input().split())
coins = [] # 사용할 동전 종류
dp = [1] + [0] * K # 경우의 수 체크
for _ in range(N):
coins.append(int(input()))
for coin in coins: # 해당 동전을 가지고 만들 수 있는 경우의 수 찾기
for i in range(coin, K+1): # i값을 만드는 데 있어서 coin 가치로 만들 수 있는 경우의 수는 i, i-coin가 같은 경우의 수를 가진다.
dp[i] += dp[i-coin]
print(dp[K])
※ 잘못된 점, 개선점 등이 있다면 언제든 댓글로 알려주시면 감사하겠습니다.
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/010.gif)
반응형
'Alogorithm > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 20058 마법사 상어와 파이어스톰 - Python (0) | 2023.04.08 |
---|---|
[BAEKJOON] 20057 마법사 상어와 토네이도 - Python (0) | 2023.04.08 |
[BAEKJOON] 23290 마법사 상어와 복제 - Python (0) | 2023.03.30 |
[BAEJOON] 21611 마법사 상어와 블리자드 - Python (0) | 2023.03.29 |
[BAEKJOON] 21610 마법사 상어와 비바라기 - Python (0) | 2023.03.28 |