알고리즘

[백준 21739 JAVA] 펭귄 네비게이터

begong 2024. 2. 20. 16:50
반응형

 

카탈란 수 문제라고 한다.

 

카탈란수에 대한 정리는

https://suhak.tistory.com/77 

 

카탈란 수(Catalan number)

카탈란 수(catalan number)로 불리는 수열이 있다. 핀란드 수학자 카탈란의 이름이 붙인 이 수열을 기호로는 $C_n$으로 나타낸다. 이 수열은 여러 가지 다른 문제를 풀이하는 과정에 나타난다. 카탈란

suhak.tistory.com

이 블로그를 참고하였다.

 

추후 카탈란수에대한 공부를 추가적으로 해야될듯하다.

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

class Main{
    static long mod = (int) Math.pow(10,9)+7;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        long[] dp = new long[N+3];
        dp[0] = 1;
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 5;
        for(int i = 4; i<=N; i++){
            for(int j=0; j<i;j++){
                dp[i] += dp[j] *dp[i-j-1];
                dp[i] %= mod;
            }
        }
        System.out.println(dp[N]);
    }
}
반응형

'알고리즘' 카테고리의 다른 글

[백준 2252 JAVA] 줄 세우기  (0) 2024.02.22
[백준 1202 JAVA] 보석도둑  (0) 2024.02.21
[백준 JAVA 1256] 사전  (0) 2024.02.19
[백준 2841 JAVA] 외계인의 기타 연주  (0) 2024.02.17
[백준 11000 JAVA] 강의실 배정  (0) 2024.02.16