Study & Project ✏️/알고리즘 📋

백준[JAVA] 9095.1, 2, 3 더하기 - 자바

JM 2022. 11. 2. 01:45
반응형

📖 문제

📃 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static Integer[] dp = new Integer[11];
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        StringBuilder sb = new StringBuilder();
        dp[0] = 0;
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4;
        // dp[4] = 7;
        int T = Integer.parseInt(br.readLine());
        for(int i=0;i<T;i++){
            int N = Integer.parseInt(br.readLine());
            sb.append(DP(N)).append('\n');
        }
        System.out.println(sb);
    }

    private static Integer DP(int N) throws IOException{
        if(dp[N] == null){
            dp[N] = DP(N-3) + DP(N-2) + DP(N-1);
        }
        return dp[N];
    }
}

 

🔗 링크

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

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net