백준|11057번|오르막 수

JSK·2022년 7월 31일
0

자바 PS풀이

목록 보기
39/51

문제설명
오르막 수는 수가 오른쪽으로 갈수록 같거나 더 커지는 수를 말합니다. 길이가 N인 오르막 수의 개수를 10007로 나눈 나머지를 출력하는 문제입니다.

작동 순서
1. 길이 N을 입력받습니다.
2. 한자리수의 오르막수 개수를 각각 1개씩으로 설정해줍니다.
3. 오르막수의 개수는 이전 단계에서 자신보다 크거나 같은 숫자들의 오르막 수의 개수들의 총합입니다.
4. 자신이 구할 자릿수의 오르막수의 개수를 모두 합하고 10007로 나눈 나머지를 출력해줍니다.

소스코드

import java.io.*;
import java.util.*;
public class 백준_11057번_오르막수 {
    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][10];
        int sum=0;
        Arrays.fill(dp[0], 1);
        for(int i=1;i<N;i++){
            for(int j=0;j<10;j++){
                for(int k=j;k<10;k++) dp[i][j]+=dp[i-1][k]%10007;
            }
        }
        for (Integer num: dp[N-1]) {
            sum+=num;
            sum%=10007;
        }
        System.out.print(sum);
    }
}
profile
학사지만 AI하고 싶어요...

0개의 댓글