반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1857 : [기초-재귀함수] 서로 다른 n개 중에서 r개 순서없이 고르기 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
int 형 정수 n 과 r 이 공백을 두고 입력된다.
(1 <= n,r <= 25)
출력
서로 다른 n개 중에서 순서 없이 r 개를 고를 수 있는 방법의 가짓수를 출력한다.
예시
- 입력 : 3 2
- 출력 : 3
Solution (풀이)
- 풀이 : 메모리 11196, 시간 : 68
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int total = Integer.parseInt(st.nextToken());
int many = Integer.parseInt(st.nextToken());
System.out.println(loop(total, many)); // 총 개수와 고를 개수를 입력받아 재귀함수에 넘긴다.
}
public static int loop(int total, int many) {
if (total<many) { // 총 개수보다 고를 개수가 더 적은경우는 0가지이다.
return 0;
} else if (total==many) { // 같은 경우는 1가지
return 1;
} else if (many==1) { // 고를 개수가 1개면 총 개수만큼
return total;
} else {
return loop(total-1, many-1) + loop(total-1, many);
}
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1856 : 계단 뛰어 오르기 (0) | 2022.12.02 |
---|---|
[CodeUp_Java] Q1855 : 재귀로 n번째 피보나치 수 리턴하기 (0) | 2022.12.02 |
[CodeUp_Java] Q1858 : 파스칼의 삼각형 출력하기 1 (0) | 2022.12.01 |
[CodeUp_Java] Q1929 : 재귀로 1부터 n까지 합 리턴하기 (0) | 2022.12.01 |
[CodeUp_Java] Q1859 : 별 삼각형 출력하기 (0) | 2022.12.01 |