⏰문제
💡풀이
고등학생 때 배운 조합공식을 이용해서 풀었다.
사용한 공식은 아래와 같다.
$\binom{n}{k} = \left\{\begin{matrix}
0 & k< 0\\
\frac{n!}{k!(n-k)!} & 0 \leq k\leq n \\
0 & k > n \\
\end{matrix}\right.$
⌨️ 코드
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());
int sum =1;
for(int i=N; i>= N-K+1; i--){
sum*=i;
}
for(int i=K;i>1; i--){
sum/=i;
}
System.out.println(sum);
}
}
📣 comment
soved.ac class2를 완료하기 위해서 풀은 문제이다. 문제 자체가 단순하고 for문을 사용해서 쉽게 풀긴 했지만, 다른 풀이가 있을 것이라 생각했다. 그래서 찾아본 결과 역시 dfs, dp 등의 다양한 알고리즘으로 이 문제를 풀 수 있었다.
dfs가 약하다 보니 dfs보다는 for문을 먼저 풀었는데, dfs관련 문제를 많이 풀어서 익숙해져야 할 것 같다ㅠ
📑 참고
https://st-lab.tistory.com/159
'⚙️알고리즘' 카테고리의 다른 글
백준) 11650 : 좌표 정렬하기 (0) | 2024.01.10 |
---|---|
백준) 1181 : 단어정렬 (0) | 2024.01.09 |
백준) 1920 : 수 찾기 (2) | 2024.01.08 |
백준) 10845 : 큐 (0) | 2024.01.06 |
백준) 9095 : 1,2,3 더하기 (0) | 2024.01.05 |