in.add()

[2293] 동전 1 본문

Algorithm/BOJ

[2293] 동전 1

idan 2021. 10. 19. 22:40

문제 링크 : https://www.acmicpc.net/problem/2293

 

2293번: 동전 1

첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

문제 해결 방법

DP로 구현했다.

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] coin = new int[n];
        for (int i = 0; i < n; i++) {
            coin[i] = sc.nextInt();
        }

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

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

'Algorithm > BOJ' 카테고리의 다른 글

[14500] 테트로미노  (0) 2021.10.21
[14503] 로봇 청소기  (0) 2021.10.20
[14442] 벽 부수고 이동하기 2  (0) 2021.10.17
[20055] 컨베이어 벨트 위의 로봇  (0) 2021.10.15
[1991] 트리 순회  (0) 2021.10.14
Comments