프로그래밍 공방

[백준] 10844번 : 쉬운 계단 수 본문

개발/문제해결

[백준] 10844번 : 쉬운 계단 수

hyosupsong 2021. 1. 5. 20:22

문제

www.acmicpc.net/problem/10844

 

10844번: 쉬운 계단 수

첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.

www.acmicpc.net

문제해결방법

길이가 N인 계단 수를 구하기 위해서 길이가 1인 계단 수부터 구해서 문제를 해결했다.

만약 길이가 n이고 i로 시작하는 계단 수를 구하기 위해서는 아래와 같은 케이스만 생각하면 된다.

n-1길이의 ( i-1으로 시작하는 계단 수 ) + ( i+1으로 시작하는 계단 수 )

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package baekjoon;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class Main10844_쉬운계단수 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[][] DP = new int[N][12];
        for(int i=1; i<=10; i++) DP[0][i] = 1;
        for(int j=1; j<N; j++) {
            for(int i=1; i<=10; i++) DP[j][i] = (DP[j-1][i-1+ DP[j-1][i+1])%1000000000;
        }
        int sum = 0;
        for(int i=2; i<=10; i++) sum = (sum + DP[N-1][i])%1000000000;
        System.out.println(sum);
    }
}
cs


코드에 대한 피드백이나 더 좋은 아이디어는 언제나 환영입니다.