쵼쥬 2021. 11. 4. 15:17


내 코드

package com.company;

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    static int T, N, M;
    static int[] arr;
    static int[] dp;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = null;

        T = Integer.parseInt(br.readLine());

        for (int i = 0; i < T; i++) {
            N = Integer.parseInt(br.readLine());
            arr = new int[N];
            dp = new int[100001];

            st = new StringTokenizer(br.readLine());

            for (int j = 0; j < N; j++) {
                arr[j] = Integer.parseInt(st.nextToken());
            }

            int M = Integer.parseInt(br.readLine());

            dp[0] = 1;

            for (int j = 0; j < N; j++) {
                for (int k = 1; k <= M; k++) {
                    if (k - arr[j] >= 0)
                        dp[k] += dp[k - arr[j]];
                }
            }

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

    }
}