"brute-force"
: 컴퓨터의 빠른 계산 능력을 이용,
: 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법
== 완전 탐색(exhaustive search)
[재귀 호출] : Recursion
: 우리가 들여다 보는 범위가 작아지면 작아질수록 각 조각들의 형태가 유사해지는 작업들
: 완전히 같은 코드를 반복해 실행하는 경우
"재귀 함수": 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수
* '더이상 쪼개지지 않는' 최소한의 작업에 도달했을 때 답을 곧장 반환하는 조건문을 포함해야 한다.
--> "기저사례 base case" : 쪼개지지 않는 가장 작은 작업들
ex)
int recursiveSum(int n){
if (n==1) return 1;
return n + recursiveSum(n-1);
}
<0번 부터 차례대로 번호 매겨진 n개의 원소 중 네 개를 고르는 모든 경우 출력하는 코드>
ex) n = 7, (0,1,2,3), (0,1,2,4), (0,1,2,5) , ... , (3,4,5,6)