Algorithm

DP / 백준 15988 1,2,3 더하기 3

Dear-J 2025. 5. 22. 14:14

 

 

풀이

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

public class S15988 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        int mod = 1000000009;

        long[] dp = new long[1000001];
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4;

        for (int i = 4; i < 1000001; i++) {
            dp[i] = (dp[i - 3] + dp[i - 2] + dp[i - 1]) % mod;
        }

        for (int i = 0; i < T; i++) {
            int num = Integer.parseInt(br.readLine());

            sb.append(dp[num]).append("\n");
        }
        System.out.println(sb);
    }
}

'Algorithm' 카테고리의 다른 글

DP / 백준 1309 동물원  (0) 2025.05.22
DP / 백준 1149 RGB거리  (0) 2025.05.22
DP / 백준 2225 합분해  (0) 2025.05.20
DP / 백준 1699 제곱수의 합  (0) 2025.05.20
DP / 백준 1912 연속합  (0) 2025.05.20