본문 바로가기
백준(Java)/23년 6월

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

by C0MPAS 2023. 6. 1.

6월 1일(목) - 동적 계획법 1 (10844번)

 

10844번: 쉬운 계단 수

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

www.acmicpc.net

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

문제점

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

풀이

(C언어 풀이 활용)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());
        int[][] dp = new int[N+1][10];
        for(int i=1; i<10; i++)
        {
            dp[1][i] = 1;
        }

        dp[1][0] = 0;
        for(int i=2; i<N+1; i++)
        {
            for(int j=0; j<10; j++)
            {
                if(j == 0)
                {
                    dp[i][j] = dp[i-1][1] % 1000000000;
                }
                else if(j == 9)
                {
                    dp[i][j] = dp[i-1][8] % 1000000000;
                }
                else
                {
                    dp[i][j] = ( dp[i-1][j-1] + dp[i-1][j+1] ) % 1000000000;
                }
            }
        }

        int sum = 0;
        for(int i=0; i<10; i++)
        {
            sum = ( sum + dp[N][i] ) % 1000000000;
        }

        System.out.println(sum);
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

댓글