220 words
1 minutes
[BOJ] 동전 나누기 1
| TimeLimit | MemoryLimit | Condition | TAG | 
|---|---|---|---|
| 0.5s | 4MB | 1 ≤ n ≤ 100 1 ≤ k ≤ 10,000  | Dynamic Programming | 
기본적인 dp 문제이고, 연습하기 좋은 문제였던 것 같습니다. 재미있던 문제였습니다.
정답 코드
코드와 같이 포문을 돌리면 중복 체크를 할 필요가 없어유 순서 섞이는 경우가 발생을 안 하기 때문에 이렇게 간단히 solve할 수 있습니다.
처음에 메모리 제한 4mb 보고서 뭐지? 이거 어떻게 품? 이러다가 범위 보고서 딱 풀었네요
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
using ll = long long;
int n, k;
int num[101];
int dp[10001];
int main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    
    cin >> n >> k;
    for(int i = 0; i < n; i++) cin >> num[i];
    
    dp[0] = 1;
    
    for(int i = 0; i < n; i++) {
        for(int j = num[i]; j <= k; j++) dp[j] += dp[j - num[i]];
    }
    
    cout << dp[k];
    return 0;
}
[BOJ] 동전 나누기 1
https://compy07.github.io/Blog/posts/boj/2239/
