본문 바로가기

하루하나코딩

백준 2293 : 동전 1 c++

코드

#include <iostream>

using namespace std;

int coin[101];
int dp[10001];
		
int main(){
	
	int n, k;

	cin >> n >> k;
	
	for(int i = 0; i < n; i++){
		cin >> coin[i];
	}
	
	
	dp[0] = 1;
	
	for(int i = 0; i < n; i++){
		for(int j = coin[i]; j <= k; j++){
			dp[j] += dp[j - coin[i]];
		}
	}
	
	cout << dp[k] << "\n";
	return 0;
}

알게된 점

경우의수를 구하는 문제를 점화식으로 나타내는게 조금 어려운 것 같다.

구글링을 통해 풀었지만, 조금 더 많이 생각해 봐야겠다.

그리고 전역변수와 지역변수의 차이가 있다.

'하루하나코딩' 카테고리의 다른 글

백준 2294 : 동전 2 c++  (0) 2023.01.13
백준 9461 : 파도반 수열 c++  (0) 2023.01.12
백준 9465 : 스티커 c++  (0) 2023.01.10
백준 2579 : 계단 오르기 c++  (0) 2023.01.06
백준 5014번 : 스타트링크 c++  (0) 2023.01.05