[알고리즘] 백준 - 10844 ( 쉬운 계단 수 ) / 자바

배고픈메꾸리·2021년 3월 3일
0

알고리즘

목록 보기
56/128
import java.io.BufferedReader;
import java.io.InputStreamReader;


class Solution {
	public static void main(String args[]) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		

		int[][] arr = new int[10][N + 1];

		//길이가 1인 계단수들  ( arr[i][1] : 길이가 1이고 i로 시작하는 계단수의 갯수)
		for (int i = 1; i <= 9; i++) {
			arr[i][1] = 1;
		}

		for (int j = 2; j <= N; j++) { // 길이
			for (int i = 0; i <= 9; i++) { // 맨 앞자리 숫자

				// 0으로 시작하는 계단수는 없지만 일반항계산을 위해 추가 
				if (i == 0) {
					arr[i][j] = arr[1][j - 1];
					
				// 9로 시작하는 경우 9+1 = 10 이므로 따로 처리해 주어야 함
				} else if (i == 9) {
					arr[i][j] = arr[8][j - 1];
				} else {
					arr[i][j] = (arr[i - 1][j - 1] + arr[i + 1][j - 1]) % 1000000000;  // 일반항
				}

			}
		}
		int ans = 0;
		for (int i = 0; i <= 9; i++) {
			ans = (ans + arr[i][N])% 1000000000;
		}

		System.out.println(ans);

	}
}

profile
FE 개발자가 되자

0개의 댓글