# [백준] 2294번 - 동전 2

- Author: @mildsalmon
- Published: 2021-09-09
- Updated: 2021-10-02
- Source: http://blex.me/@mildsalmon/%EB%B0%B1%EC%A4%80-2294%EB%B2%88-%EB%8F%99%EC%A0%84-2
- Tags: 파이썬, 알고리즘, 코딩테스트, 문제, 다이나믹프로그래밍, 백준

---

# 1. 동전 2

- 난이도
	- 실버 1
- 시간 제한
	- 1초
- 메모리 제한
	- 128 MB
- 출처
	- [2294번: 동전 2 (acmicpc.net)](https://www.acmicpc.net/problem/2294)

### A. 문제

위 백준 사이트에 접속하여 문제를 확인해주세요.

### B. 내 답안

```python

n, k = list(map(int, input().split()))  
array = []  
dp = [1e9] * (k+1)  
  
for i in range(n):  
    array.append(int(input()))  
dp[0] = 0  
for coin in array:  
    for j in range(coin, k+1):  
        dp[j] = min(dp[j], dp[j-coin]+1)  
  
if dp[j] >= 1e9:  
    print(-1)  
else:  
    print(dp[j])

```

##### a. 회고

> 내 풀이

- 이전에 **이것이 취업을 위한 코딩테스트다.** 에서 봤던 문제랑 비슷하다.

### C. 문제 해설

> 이해한 내용을 바탕으로 작성했습니다.

![](https://static.blex.me/images/content/2021/10/2/21_Qv2fSGsGWsSkJo6oDk9P.jpg)

# 참고문헌

[baekjoon](https://www.acmicpc.net/user/baekjoon). [1065번: 한수 (acmicpc.net)](https://www.acmicpc.net/problem/1065). Baekjoon. (accessed Sep 5, 2021)
