Compy's Blog
220 words
1 minutes
[BOJ] 동전 나누기 1
2025-02-16

동전 나누기 1

TimeLimitMemoryLimitConditionTAG
0.5s4MB1 ≤ 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/
Author
뒹굴뒹굴 이정훈 공부방
Published at
2025-02-16