본문 바로가기
알고리즘/Array

1, 2, 3 더하기

by e-pd 2021. 7. 12.

https://www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

import java.util.*;

class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();
        for (int i = 0; i < count; i++) {
            int n = sc.nextInt();
            System.out.println(recursive(n));
        }
    }
   
    public static int recursive(int n) {
        if (n == 0 || n == 1) {
            return 1;
        }
        int sum = 0;
        for (int i = 1; i <= n && i <= 3; i++) {
            sum += recursive(n-i);
        }
        return sum;
    }
}

 

재귀적으로 합을 구하는 문제

1. 끝나는 조건을 정의한다.

2. n까지 구하는데 1,2,3을 사용해서 구한다.

3. 재귀를 하면서 조건을 줄여나간다.

'알고리즘 > Array' 카테고리의 다른 글

치킨 쿠폰  (0) 2021.07.13
1로 만들기  (0) 2021.07.12
배열에 한번만 등장하는 값  (0) 2020.11.29
  (0) 2020.11.21
Best Time to Buy and Sell Stock  (0) 2020.11.20