[백준] 2293* 동전1 (골드4)

AI·2025년 10월 5일

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

import java.io.*;
import java.util.*;
public class Main
{
    static int n,k;
    static int[] v;
    static int[] dp;
    public static void main(String[] args) throws Exception
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        n = Integer.parseInt(st.nextToken());
        k = Integer.parseInt(st.nextToken());
        v = new int[n];
        for(int i=0;i<n;i++){
            v[i] = Integer.parseInt(br.readLine());
        }
        dp = new int[k +1];
        dp[0]=1; // 초기화 = 0원 만드는 방법 1가지

        // dp[j] = j값이 되는데 가능한 개수
        for(int i=0;i<n;i++){
            for(int j=v[i];j<=k;j++){
                dp[j] += dp[j-v[i]];
            }
        }
        System.out.println(dp[k]);
    }
}

0개의 댓글