코테/백준

[백준/JAVA] 11050번: 이항 계수 1

imname1am 2023. 3. 10. 11:56
반응형

🔺 문제

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

🔺 코드

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
28
29
30
31
32
33
import java.util.*;
import java.io.*;
 
public class Main {
    static int N, K;    // 총 개수, 선택 개수
    static int[][] D;   // 조합 배열
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
        N = Integer.parseInt(st.nextToken());
        K = Integer.parseInt(st.nextToken());
        
        // DP 배열 초기화
        D = new int[N + 1][N + 1];
        for(int i = 0 ; i <= N ; i++) {
            D[i][1= i;    // i개에서 1개  선택하는 경우의 수  - i개
            D[i][0= 1;    // i개에서 1개도 선택하지 않는 경우 - 1개
            D[i][i] = 1;    // i개에서 모두 선택하는 경우       - 1개
        }
        
        // DP 배열 값 채우기
        for(int i = 2 ; i <= N ; i++) {
            for(int j = 1 ; j < i ; j++) { // 고르는 수 개수가 전체 개수 넘을 수 없음
                D[i][j] = D[i-1][j] + D[i-1][j-1];  // 조합 점화식
            }
        }
        
        System.out.println(D[N][K]);
        br.close();
    }
}
cs
✅ 해결 아이디어
조합 문제 → 점화식 (파스칼의 법칙)이용

 

💥 유의사항

배열, 인덱스 범위 신경쓰기

 배열 크기가 N이 아니고 N+1이어야 함.

 점화식으로 배열 완성할 때 인덱스도 유의하기. (Bottom-UP 방식 사용)

    •  i : 1은 채워놔서 2부터 시작. 

    •  j : 0은 채워놔서 1부터 시작.

 


🔺 다른 풀이들

 

[백준] 11050번 : 이항 계수 1 - JAVA [자바]

www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 알고리즘 [접근 방법] 이항 계수(Binomial coefficient) 문제 자체는 매

st-lab.tistory.com

정리 최고....👍👍👍

 


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

(참고)

 

 

 

[조합] nCr 쉽게 구하기. (수정 20190604)

nCr 쉽게 구하기 (수정 20190604) 오랫만에 와서 살펴보니 코드와 예시를 든 이미지가 잘못되서 수정하였습니다 ㅜㅡㅜ nCr 같은 경우는 n개의 숫자에서 r개를 뽑는 경우의 수이다. 경우의 수를 구하

wootool.tistory.com

 

반응형