티스토리 뷰

 

https://www.acmicpc.net/problem/9084

 

9084번: 동전

우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는

www.acmicpc.net

 

# 9084 동전

2293 동전1 이랑 같은 문제

dp[i] = i원을 만들 수 있는 경우의 수

조건식
coin.forEach((v) => {
	for (let i = v; i <= k; i++) {
		dp[i] += dp[i - v];
	}
});

초기값
dp[0] = 1;
dp[n] = 0; (n>0)
const [[T], ...arr] = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n')
	.map((v) => v.split(' ').map(Number));
const answer = [];
for (let t = 0; t < T; t++) {
	arr.shift();
	const coin = arr.shift();
	const [k] = arr.shift();
	const dp = new Array(k + 1).fill(0);
	dp[0] = 1;
	coin.filter((c) => c <= k).forEach((v) => {
		for (let i = v; i <= k; i++) {
			dp[i] += dp[i - v];
		}
	});
	console.log(dp);
	answer.push(dp[k]);
}
console.log(answer.join('\n'));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함