From f2058797b0d4f1510479c1e86183dcebf62097a5 Mon Sep 17 00:00:00 2001 From: Jinyeong Seol Date: Wed, 10 Dec 2025 22:59:44 +0900 Subject: [PATCH] =?UTF-8?q?[20251210]=20BOJ=20/=20G5=20/=20Coins=20/=20?= =?UTF-8?q?=EC=84=A4=EC=A7=84=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../202512/10 BOJ G5 Coins.md\342\200\216" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "Seol-JY/202512/10 BOJ G5 Coins.md\342\200\216" diff --git "a/Seol-JY/202512/10 BOJ G5 Coins.md\342\200\216" "b/Seol-JY/202512/10 BOJ G5 Coins.md\342\200\216" new file mode 100644 index 00000000..dbcf68e1 --- /dev/null +++ "b/Seol-JY/202512/10 BOJ G5 Coins.md\342\200\216" @@ -0,0 +1,38 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringBuilder sb = new StringBuilder(); + + int T = Integer.parseInt(br.readLine().trim()); + + while (T-- > 0) { + int N = Integer.parseInt(br.readLine().trim()); + int[] coins = new int[N]; + + StringTokenizer st = new StringTokenizer(br.readLine()); + for (int i = 0; i < N; i++) { + coins[i] = Integer.parseInt(st.nextToken()); + } + + int M = Integer.parseInt(br.readLine().trim()); + + int[] dp = new int[M + 1]; + dp[0] = 1; + + for (int coin : coins) { + for (int j = coin; j <= M; j++) { + dp[j] += dp[j - coin]; + } + } + + sb.append(dp[M]).append("\n"); + } + + System.out.print(sb); + } +} +```