Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions _WeeklyChallenges/W14-[DP]/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
## 🚀3월 3주차 (3/22) 스터디 발제 주제: DP
> 발제자: 조윤상 (@YoonYn9915)
## 🚀3월 2주차 (3/10) 스터디 발제 주제: Dynamic programming
> 발제자: 김홍주

> 주제: DP
> 주제: Dynamic programming
### 🗂️ 스터디 자료
- PDF: [바로가기
](./Study_BOJ_2293.pdf)

### 📖 문제
- [백준 #2293. 동전 1](https://www.acmicpc.net/problem/2293): DP / 골드 4
- 정답 코드: [Study_BOJ_2293_동전 1.py](https://github.com/AlgorithmStudy-Allumbus/codingtest_algorithm_study/blob/fad656cae819a42bc7b82c541388bcf249df9604/_WeeklyChallenges/W14-%5BDP%5D/Assignment_BOJ_2294_%EB%8F%99%EC%A0%84%202.py)
](./Study_BOJ_2294.pdf)


### 📖 문제
- [백준 #2342. Dance Dance Revolution](https://www.acmicpc.net/problem/2342): Dynamic Programming / 골드3
- 정답 코드: [Study_BOJ_2342_DanceDanceRevolution.py](./Study_BOJ_2342_DanceDanceRevolution)

### 💻 과제
- [백준 #2294. 동전 2](https://www.acmicpc.net/problem/2294): DP / 골드 5
- 정답 코드: [Study_BOJ_2294_동전 2.py](https://github.com/AlgorithmStudy-Allumbus/codingtest_algorithm_study/blob/fad656cae819a42bc7b82c541388bcf249df9604/_WeeklyChallenges/W14-%5BDP%5D/Assignment_BOJ_2294_%EB%8F%99%EC%A0%84%202.py)
- [백준 #2281. 데스노트](https://www.acmicpc.net/problem/2281): Dynamic Programming / 골드4
- 정답 코드: [Assignment_BOJ_2281_데스노트.py](./Assignment_BOJ_2281_데스노트.py)
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
'''
BOJ #2294. 동전 2 (골드 5)
https://www.acmicpc.net/problem/2294
유형: DP
'''
for _ in range(n):
arr.append(int(input()))
dp = [100001 for i in range(k + 1)]
dp[0] = 0
for coin in arr:
for i in range(coin, k + 1):
dp[i] = min(dp[i], dp[i - coin] + 1)
if dp[k] == 100001:
print(-1)
else:
'''
BOJ #2294. 동전 2 (골드 5)
https://www.acmicpc.net/problem/2294
유형: DP
'''


for _ in range(n):
arr.append(int(input()))

dp = [100001 for i in range(k + 1)]
dp[0] = 0

for coin in arr:
for i in range(coin, k + 1):
dp[i] = min(dp[i], dp[i - coin] + 1)

if dp[k] == 100001:
print(-1)
else:
print(dp[k])
19 changes: 10 additions & 9 deletions _WeeklyChallenges/W15-[DP]/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
## 🚀3월 2주차 (3/10) 스터디 발제 주제: Dynamic programming
> 발제자: 김홍주
## 🚀3월 3주차 (3/22) 스터디 발제 주제: DP
> 발제자: 조윤상 (@YoonYn9915)

> 주제: Dynamic programming
> 주제: DP
### 🗂️ 스터디 자료
- PDF: [바로가기
](./Study_BOJ_2294.pdf)

](./Study_BOJ_2293.pdf)

### 📖 문제
- [백준 #2342. Dance Dance Revolution](https://www.acmicpc.net/problem/2342): Dynamic Programming / 골드3
- 정답 코드: [Study_BOJ_2342_DanceDanceRevolution.py](./Study_BOJ_2342_DanceDanceRevolution)
- [백준 #2293. 동전 1](https://www.acmicpc.net/problem/2293): DP / 골드 4
- 정답 코드: [Study_BOJ_2293_동전 1.py](https://github.com/AlgorithmStudy-Allumbus/codingtest_algorithm_study/blob/fad656cae819a42bc7b82c541388bcf249df9604/_WeeklyChallenges/W14-%5BDP%5D/Assignment_BOJ_2294_%EB%8F%99%EC%A0%84%202.py)



### 💻 과제
- [백준 #2281. 데스노트](https://www.acmicpc.net/problem/2281): Dynamic Programming / 골드4
- 정답 코드: [Assignment_BOJ_2281_데스노트.py](./Assignment_BOJ_2281_데스노트.py)
- [백준 #2294. 동전 2](https://www.acmicpc.net/problem/2294): DP / 골드 5
- 정답 코드: [Study_BOJ_2294_동전 2.py](https://github.com/AlgorithmStudy-Allumbus/codingtest_algorithm_study/blob/fad656cae819a42bc7b82c541388bcf249df9604/_WeeklyChallenges/W14-%5BDP%5D/Assignment_BOJ_2294_%EB%8F%99%EC%A0%84%202.py)
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
'''
BOJ #2293. 동전 1 (골드4)
https://www.acmicpc.net/problem/2293
유형: DP
'''
n, k = map(int, input().split())
coin = []
dp = [0] * (k + 1)
for _ in range(n):
coin.append(int(input()))
coin.sort()
dp[0] = 1
for c in coin:
for i in range(c, k+1):
dp[i] += dp[i-c]
print(dp[k])
'''
BOJ #2293. 동전 1 (골드4)
https://www.acmicpc.net/problem/2293
유형: DP
'''

n, k = map(int, input().split())

coin = []
dp = [0] * (k + 1)

for _ in range(n):
coin.append(int(input()))

coin.sort()
dp[0] = 1

for c in coin:
for i in range(c, k+1):
dp[i] += dp[i-c]

print(dp[k])
Loading