Post

๐Ÿงฉ Baekjoon 11050 - ์ดํ•ญ ๊ณ„์ˆ˜ 1

๐Ÿงฉ Baekjoon 11050 - ์ดํ•ญ ๊ณ„์ˆ˜ 1

๋ฌธ์ œ

์ž์—ฐ์ˆ˜ N๊ณผ ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ดํ•ญ ๊ณ„์ˆ˜ binom{N}{K}๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰คย Nย โ‰ค 10, 0 โ‰คย Kย โ‰คย N)

์ถœ๋ ฅ

binom{N}{K}๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ

โœ… ์ž…๋ ฅ 1

1
5 2

โœ… ์ถœ๋ ฅ 1

1
10

์ž‘์„ฑ ์ฝ”๋“œ

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
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.util.StringTokenizer;  
  
public class Main {  
    private static final long[][] dp = new long[11][11];  
  
    public static void main(String[] args) throws IOException {  
        // 1. ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”  
        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());  
        
        // 2. ์ฒ˜๋ฆฌ ๋ฐ ์ถœ๋ ฅ  
        System.out.println(nCr(n, k));  
    }  
    
    private static long nCr(int n, int r) {  
        if (r == 0 || n == r) return 1;  
        if (dp[n][r] != 0) return dp[n][r];  
        
        return dp[n][r] = nCr(n-1, r-1) + nCr(n-1, r);  
    }  
}
  • ํŽ˜๋ฅด๋งˆ์˜ ์†Œ์ •๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ ์‹ฌํ™” ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„ ์ด๋ฒˆ์—๋Š” ์žฌ๊ท€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค.
This post is licensed under CC BY 4.0 by the author.