코딩테스트
[백준-11057번] 오르막 수 풀이 - Java
UnaUna
2025. 6. 6. 01:19
반응형
🚀 문제
🚀 접근 방법
DP문제이다.!
백준 10844번 쉬운 계단수와 비슷한 풀이 방법이다.
끝자리가 0이면 0~9
1이면 1~9
....
9이면 9만 올 수 있는 것을 이용한다.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0~9 | 1~9 | 2~9 | 3~9 | 4~9 | 5~9 | 6~9 | 7~9 | 8~9 | 9 |
🚀 코드
import java.io.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
final int MOD = 10007;
int[][] dp = new int [n+1][10];
for(int i=0; i<=9; i++){
dp[1][i] = 1;
}
for(int i=2; i<=n; i++){
for(int j=0; j<=9; j++){
for(int k=j; k<=9; k++){
dp[i][k] += (dp[i-1][j]%MOD);
}
}
}
bw.write(Long.toString((Arrays.stream(dp[n]).sum()%MOD)));
bw.flush();
bw.close();
br.close();
}
}
반응형