25. 자료 구조와 알고리즘/나의 알고리즘

07. 재귀함수 (Recursive Call) - 경우의 수 구하기

THE HEYDAZE 2021. 9. 16. 13:46

 

재귀 함수
정수 n 이 입력으로 주어졌을 때 n을 1,2,3 의 합으로 나타낼 수 있는 방법의 수 구하기
public class RecursiveCall5 {

    public static void main(String[] args) {

        int num = 4;

        int numberOfCases = recursiveSum(num);

        System.out.println(numberOfCases);
    }

    private static int recursiveSum(int num) {

        if (num == 1) return 1;
        else if (num == 2) return 2;
        else if (num == 3) return 4;

        return recursiveSum(num - 1) + recursiveSum(num - 2) + recursiveSum(num - 3);
    }
}
4가 되는 경우의 수

1+1+1+1
1+1+2
1+2+1
2+1+1
2+2
1+3
3+1