티스토리 뷰
728x90
반응형
문제 요약
- 알고리즘 분류: 수학, 조합
- 난이도: Silver3
- 문제내용:
- 조합 결과값을 출력해라
- 사이트 주소: https://www.acmicpc.net/problem/2407
문제풀이
이번 문제는 조합 공식만 알면 되는데 파이썬같은 동적 변수타입은 문제 없지만 정적 타입 선언 해야 되는 언어는 long타입 선언해도 결과값이 오버 되기때문에 그점을 유의 하면서 풀면 된다.
Code
Python
파이썬은 어떤 방식으로 풀어도 된다. 그래서 factorial과 comb 사용 법만 알면된다.
from math import factorial
n, m = map(int, input().split())
print(factorial(n) // (factorial(n - m) * factorial(m)))
from math import comb
n, m = map(int, input().split())
print(comb(n, m))
Java
자바는 long 타입 해도 조합 결과 값이 범위가 넘기 때문에 BigInteger 클래스 사용법을 알아 두면된다. 그리고 파이썬 처럼 factorial이나 comb 지원이 안되서 직접 factorial 구현해야된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
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());
BigInteger N = new BigInteger(st.nextToken());
BigInteger M = new BigInteger(st.nextToken());
System.out.println(factorial(N).divide(factorial(N.subtract(M)).multiply(factorial(M))));
}
public static BigInteger factorial(BigInteger n) {
if (n.intValue() == 1) return new BigInteger("1");
return factorial(n.subtract(new BigInteger("1"))).multiply(n);
}
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[BAEKJOON] 23757 아이들과 선물 상자 (0) | 2022.12.12 |
---|---|
[BAEKJOON] 15654 N과 M (5) (0) | 2022.12.09 |
[BAEKJOON] 1655 가운데를 말해요 (0) | 2022.12.07 |
[BAEKJOON] 1092 배 (0) | 2022.12.06 |
[BAEKJOON] 12015 가장 긴 증가하는 부분 수열 2 (2) | 2022.11.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬
- level2
- 그리디
- 백트레킹
- 동적계획법
- 넓이 우선 탐색
- 구현
- 알고리즘
- LeetCode
- 배열
- 누적합
- java
- BaekJoon
- spring-boot
- 자바
- 수학
- 이론
- 문자열
- Python
- BFS
- JSCODE
- Greedy
- 그래프
- 백준
- DP
- Programmerse
- DFS
- 재귀호출
- 동적 계획법
- 조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함