728x90

문제

 

 

접근 방식

 

[백준] 2293번 : 동전 1

문제 접근 방식 1원, 2원, 5원 총 3가지의 동전으로 1원부터 10원을 만드는 경우를 적어보면 다음과 같다. 11 211 2 3111 12 41111 112 22 511111 1112 122 5 6111111 11112 1122 15 222 71111111 111112 11122 115 1222 25 811111111 1

da9dac.tistory.com

 

위의 문제와 입출력만 좀 다를 뿐 사실상 풀이가 같은 문제라 설명은 생략하겠다.

 

 

풀이

class Main {
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        int t = Integer.parseInt(br.readLine());
        
        while (t-- > 0) {
            int n = Integer.parseInt(br.readLine());
            st = new StringTokenizer(br.readLine());
            int m = Integer.parseInt(br.readLine());
            int[] dp = new int[m + 1];
            
            dp[0] = 1;
            
            for (int i = 1; i <= n; i++) {
                int coin = Integer.parseInt(st.nextToken());
                
                for (int j = coin; j <= m; j++) {
                    dp[j] += dp[j - coin];
                }
            }
            
            sb.append(dp[m]).append("\n");
        }
        
        System.out.println(sb);
    }
}

 

'Java > Algorithms' 카테고리의 다른 글

[백준] 1915번 : 가장 큰 정사각형  (1) 2024.03.17
[백준] 2294번 : 동전2  (0) 2024.03.16
[백준] 9657번 : 돌 게임 3  (1) 2024.03.13
[백준] 4883번 : 삼각 그래프  (4) 2024.03.11
[백준] 2293번 : 동전 1  (0) 2024.03.09

+ Recent posts