코딩테스트/BOJ

[BOJ] 2407 조합 - JAVA

5월._. 2023. 3. 10.
728x90

1. 문제

 

2407번: 조합

n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)

www.acmicpc.net

nCm을 출력한다.


2. 풀이

조합 식과 BigInteger를 이용해 풀이했다. dp를 이용해서 푸는 사람도 있는 것 같은데 상상이 안간다 ;_; 

import java.io.*;
import java.math.BigInteger;
import java.util.*;

public class BOJ_2407_조합 {
   static int N,M;
   public static void main(String[] args) throws IOException {
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
      StringTokenizer st = new StringTokenizer(in.readLine());
      N = Integer.parseInt(st.nextToken());
      M = Integer.parseInt(st.nextToken());

      BigInteger answer = BigInteger.valueOf(1);
      for(int i=N;i>=N-M+1;i--) answer = answer.multiply(BigInteger.valueOf(i));
      for(int r=M;r>0;r--) answer = answer.divide(BigInteger.valueOf(r));
      System.out.println(answer);

   }
}

3. 결과

+ - 잘못써서 한 번 틀렸다.

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

[BOJ] 1259 팰린드롬수 - JAVA  (0) 2023.03.12
[BOJ] 1865 웜홀 - JAVA  (0) 2023.03.11
[BOJ] 20300 서강근육맨 - JAVA  (0) 2023.03.09
[BOJ] 19637 IF문 좀 대신 써줘 - JAVA  (0) 2023.03.08
[BOJ] 20310 타노스 - JAVA  (0) 2023.03.06

댓글