HyeLog

[알고리즘] 브루트포스 - 재귀 본문

CS

[알고리즘] 브루트포스 - 재귀

shj718 2022. 4. 12. 15:57

주로 보이는 재귀 함수의 패턴

1) 정답을 찾은 경우 Ex.) cnt == 6

2) 불가능한 경우 Ex.) index == a.size()

3) 다음 경우 (다음 호출) Ex.) solve(a, index+1, cnt+1); solve(a, index+1, cnt);

 

각 경우의 특징

- 3번의 경우, 호출 함수들의 순서가 중요할 때도 있고 상관 없을 때도 있다.

  • 경우의 수 / 최댓값을 구하는게 목표이면 순서가 중요하지 않지만 (어짜피 브루트포스로 모든 경우를 다 해보므로)
  • 정답을 출력하는 조건이 정해져 있다면(Ex. 사전순 출력) 순서를 고려해야 한다.

- 1번과 2번 중 무엇이 먼저 와야하는지도 생각해 보아야 한다.