Algorithm Study

[BOJ] 로또 / JAVA, 재귀

hyun-1200 2022. 4. 7. 22:06

https://www.acmicpc.net/problem/6603

 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net

 

 

 

1. 1 2 3 4 5 6 과  6 5 4 3 2 1 은 동일하다.

 숫자가 동일하게 들어가있다면, 같은 경우이므로 재귀를 통해 어떻게 처리할 것인가 ?

 -> 현재 자기값보다 큰 값으로 다음값을 선택해야한다. 

 -> for문에서 현재 인덱스값부터 시작하면 된다. 

 

 

2. 재귀함수에서 파라미터값을 어떤값을 넣을까?

- int?

- String?

- List ?

 -> int 형의 현재 인덱스값을 파라미터로 넘겨주고,

     return 할때, 현재 결과값을 출력하도록 하자. 

-> 결과값은 int ans[6] 의 배열로 설정했다. 

 

3.  재귀함수에서 return 시, 돌려주는 값을 어떻게 돌려줄것인가?

- List로 받아서 main 에서 출력되게 할 것인지

- return 블록 안에서 출력되게 할 것인지