곽로그

[백준 11057, Java] 오르막 수 본문

알고리즘/백준

[백준 11057, Java] 오르막 수

일도이동 2020. 11. 16. 09:44
반응형

문제

www.acmicpc.net/problem/11057

 

11057번: 오르막 수

오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수

www.acmicpc.net

 

check

 

코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
    public static int N;
    public static int[][] ascendingNums;
    public static int MOD = 10007;
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        N = Integer.parseInt(br.readLine());
        ascendingNums = new int[N+1][10]; //길이가 N인 오르막 수 중 끝자리가 M인 것의 경우의 수

        calculateCount();
        int result = getCount();

        bw.write(String.valueOf(result));
        bw.flush();

        br.close();
        bw.close();
    }

    public static void calculateCount(){
        for(int n = 1; n<=N; n++){
            if(n ==1){
                for(int index = 0 ; index<ascendingNums[n].length; index++){
                    ascendingNums[n][index] =1;
                }
            }
            else{
                for(int index = 0 ; index<ascendingNums[n].length; index++){
                    for(int j= 0 ; j<=index; j++){
                        ascendingNums[n][index] += ascendingNums[n-1][j];
                    }
                    ascendingNums[n][index] %= MOD;
                }
            }
        }
    }

    public static int getCount(){
        int result = 0;
        for(int index = 0 ; index<ascendingNums[N].length; index++){
            result += ascendingNums[N][index];
        }

        return result%MOD;
    }
}
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 1932, Java] 정수 삼각형  (0) 2020.11.16
[백준 2156, Java] 포도주 시식  (0) 2020.11.16
[백준 1309, Java] 동물원  (0) 2020.11.16
[백준1149, Java] RGB거리  (0) 2020.11.15
[백준 15988, Java] 1, 2, 3 더하기 3  (0) 2020.11.15
Comments