백준 2293: 동전1

uni.gy·2024년 3월 14일
0

알고리즘

목록 보기
50/61

문제

풀이

  • 점화식 dp[n] = dp[n] + dp[n-현재 동전 크기]
  • 노트에 직접 써보면서 하니까 이해가 됐다.

코드

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));
        StringTokenizer st=new StringTokenizer(br.readLine());
        int n=Integer.parseInt(st.nextToken());
        int k=Integer.parseInt(st.nextToken());
        int[] coins=new int[n];
        for(int i=0;i<n;i++){
            coins[i]=Integer.parseInt(br.readLine());
        }

        int[] dp=new int[k+1];
        dp[0]=1;
        for(int i=0;i<n;i++){
            for(int j=coins[i];j<k+1;j++){
                dp[j]=dp[j]+dp[j-coins[i]];
            }
        }

        System.out.println(dp[k]);

    }

}

#dp

profile
한결같이

0개의 댓글