코테/백준

[백준/JAVA] 16395번: 파스칼의 삼각형

imname1am 2024. 1. 30. 23:11
반응형

📖 문제

 

16395번: 파스칼의 삼각형

파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행

www.acmicpc.net

 

 

💡  풀이 방식

• DP

. 2차원 배열을조합 식 nCr = n-1Cr-1 + n-1Cr 을 활용해 채운다.

 - 첫 번째 열에 있는 칸과, 행=열인 칸은 1로 초기화

dp[n][k] = dp[n-1][k-1] + dp[n-1][k]

 

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        
        int n = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());
        
        int[][] dp = new int[31][31];
        for(int i = 1 ; i <= n ; i++) {
            dp[i][1= 1;
            dp[i][i] = 1;
        }
        
        for(int i = 2 ; i <= n ; i++) {
            for(int j = 2 ; j < i ; j++) {
                dp[i][j] = dp[i-1][j-1+ dp[i-1][j];
            }
        }
        
        System.out.println(dp[n][k]);
    }
}
 
cs


 

 

1회독 2회독 3회독 4회독 5회독
V        

 

반응형