티스토리 뷰
반응형
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
⊙ 문제
⊙ 입력
⊙ 출력
⊙ 예제 입출력
⊙ 알고리즘 분류
- 수학
- 구현
- 조합론
⊙ 문제 접근 과정
이항 계수가 어떤 건지만 알면 풀 수 있는 문제다.
이항 계수를 풀라면 팩토리얼이 들어간다.
팩토리얼을 구현하기 위해 재귀 함수를 사용했다.
재귀 함수를 메서드로 구현한 뒤 팩토리얼로 이루어진 이항 계수를 위한 (0 <=k <=n)의 함수 메서드를 따로 만들어줬다.
⊙ 재귀 함수
- 재귀함수란?
재귀 함수는 함수 안에서 자기 자신을 계속 호출하여 문제를 해결해가는 함수이다.
아래에 예시를 보면
계속해서 자기 자신인 fact를 특정 조건을 성립할 때까지 호출한다.
위 예시는 이번 문제에 사용되었다.
⊙ 문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//N과 K의 값을 입력받는다.
int N = in.nextInt();
int K = in.nextInt();
//binoimal 함수를 호출한다.
System.out.print(binomial(N,K));
}
//이항 계수
public static int binomial(int N,int K) {
return fact(N)/(fact(K)*fact(N-K));
}
//팩토리얼(재귀함수)
public static int fact(int n) {
if (n <= 1)
return 1;
else
return fact(n-1) * n;
}
}
⊙ 결과
⊙ 마무리
재귀 함수를 메서드로 구현하여 문제에 접근하면 보다 쉽게 해결할 수 있다.
728x90
반응형
'백준 온라인 저지 [BOJ] > JAVA [자바]' 카테고리의 다른 글
[백준(BOJ)] 4153번 : 직각삼각형 - JAVA[자바] (0) | 2021.04.15 |
---|---|
[백준(BOJ)] 9012번 : 괄호 - JAVA[자바] (2) | 2021.04.14 |
[백준(BOJ)] 2798번 : 블랙잭 - JAVA[자바] (0) | 2021.04.13 |
[백준(BOJ)] 1181번 : 단어 정렬 - JAVA[자바] (0) | 2021.04.13 |
[백준(BOJ)] 2920번 : 음계 - JAVA[자바] (2) | 2021.04.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머스
- 정렬
- py
- 정답
- 파이썬
- 풀이
- 우종정
- 쉽게배우는
- Web
- 자바
- CPP
- 그리디
- JS
- 답
- 해답
- 쉽게배우는자바프로그래밍
- OS
- 쉽게 배우는 자바 프로그래밍
- 구현
- 자바스크립트
- 알고리즘
- BFS
- C++
- java
- 문자열
- 백준
- 연습문제
- Python
- 정리
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함