728x90
쉬운 계단 수
https://www.acmicpc.net/problem/10844
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.stream.IntStream;
public class Main {
private static BigInteger[][] dp = new BigInteger[101][10];//0~9
static {
dp[1][0]= BigInteger.ZERO;
IntStream.range(1,10).forEach(i ->dp[1][i] = BigInteger.ONE);
IntStream.rangeClosed(2,100).forEach(i -> {
IntStream.range(0,10).forEach(k -> {
switch (k) {
case 0 -> dp[i][k] = dp[i - 1][1];//0일때와 9일때는 가능성이 1개밖에 없음
case 9 -> dp[i][k] = dp[i - 1][8];
default -> dp[i][k] = dp[i - 1][k - 1].add(dp[i - 1][k + 1]);
}
});
});
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
final int i = Integer.parseInt(br.readLine());
BigInteger result = BigInteger.ZERO;
for(int k =0; k<10; k++){
result = result.add(dp[i][k]);
}
System.out.println(result.remainder(BigInteger.valueOf(1000000000)));
}
}
728x90
'Algorithm > 백준' 카테고리의 다른 글
[백준/2565/Java] 전깃줄 (0) | 2022.02.23 |
---|---|
[백준/11053/Java] 가장 긴 증가하는 부분 수열 (0) | 2022.02.21 |
[백준/1932/Java] 정수 삼각형 (0) | 2022.02.19 |
[백준/9184/Java] 신나는 함수 실행 (0) | 2022.02.18 |
[백준/2110/Java] 공유기 설치 (0) | 2022.02.16 |