[알고리즘] 백준 - 1,2,3 더하기

June·2021년 4월 12일
0

알고리즘

목록 보기
152/260

백준 - 1,2,3 더하기

내 풀이

import java.util.Scanner;

public class baekjoon_9095 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = Integer.parseInt(sc.nextLine());

        for (int i = 0; i < T; i++) {
            int n = Integer.parseInt(sc.nextLine());
            System.out.println(solve(n));
        }
    }

    private static int solve(int n) {
        if (n == 0) {
            return 1;
        }
        else if (n == 1) {
            return 1;
        } else if (n == 2) {
            return 2;
        } else if (n == 3) {
            return 4;
        }
        return solve(n - 1) + solve(n - 2) + solve(n - 3);
    }
}

재귀 연습을 하기 위해 재귀로 풀어보았다. 결국 n을 1,2,3의 합으로 나타내는 방법은 n-1을 나타내는 방법에서 1을 더하는 것, n-2를 나타내는 방법에서 2를 더하는 것, n-3을 나타내는 방법에서 3을 더하는 것이다.

모처럼 자바로 문제를 풀려고하니 매우 어색하다. 지금은 어색하지만 금방 적응할 것이고, 이것이 나중에 도움이 될 것이다.

0개의 댓글