[BOJ] 10844. 쉬운 계단수
15 Apr 2026
Reading time ~1 minute
풀이
import java.util.Scanner;
public class Main {
static final long mod = 1000000000l;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
long[][] dp = new long [N+1][10];
for(int i = 1; i <= 9; i++) {
dp[1][i] = 1;
}
// dp[n][i] : 길이가 n이면서 i로 끝나는 계단 수의 개수.
for(int i = 2; i <= N; i++) {
for(int j = 0; j <= 9; j++) {
if(j-1 < 0) dp[i][j] = dp[i-1][j+1];
else if(j+1 > 9) dp[i][j] = dp[i-1][j-1];
else dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1];
dp[i][j] %= mod;
}
}
long answer = 0l;
for(int i = 0; i <= 9; i++) {
answer = answer + dp[N][i];
answer = answer % mod;
}
System.out.println(answer);
}
}