코딩 테스트/백준

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

리져니 2021. 12. 31. 22:48

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

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

www.acmicpc.net

 

 

풀이

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

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());

        System.out.println(recur(n,k));

    }

    public static int recur(int n, int k){
        if( (k==0) || (n ==k)) return 1;
        return recur(n-1,k) + recur(n-1,k-1);
    }
}

 

설명

이항 계수의 특성을 이용해서 재귀 함수로 구현.

728x90

'코딩 테스트 > 백준' 카테고리의 다른 글

[백준1018/JAVA] 체스판 다시 칠하기  (0) 2022.01.05
[백준1181/JAVA]단어 정렬  (0) 2022.01.04
[백준1259/JAVA] 팰린드롬수  (0) 2021.12.30
[백준15829/JAVA] Hashing  (0) 2021.12.29
[백준2798/JAVA] 블랙잭  (0) 2021.12.29