순환(Recursion)어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법 순환을 이용하는 가장 쉬운 예시인 팩토리얼을 생각해보자 3! 을 계산하기 위해선 어떻게 해야 할까? 3! = 3 * 2 * 1 이다 위 식을 다르게 표현해보자 3 * 2! 로 표현할 수도 있다 2! 는 어떻게 계산할까? 2 * 1 이다 또한 2 * 1! 로 표현할 수도 있다 즉 n! 를 계산하기 위해서는 (n - 1)! 를 계산해야하고 이를 계산하기 위해서는 (n - 2)! 를 계산해야 한다 여기서 공통점이 있다 전부 팩토리얼이라는 것이다 즉 팩토리얼을 계산하는 함수를 반복하면 계산할 수 있다 이렇게 주어진 문제를 더 작은 동일한 문제들로 분해하여 해결하는 방법을 분할 정복(divide and conqu..