[백준 / 실버3] 9095 1, 2, 3 더하기 (Java)

wannabeking·2022년 7월 9일
0

코딩테스트

목록 보기
32/155

문제 보기



사용한 것

  • 1, 2, 3의 합으로 나타내는 방법의 수를 구하기 위한 bottom-up


풀이 방법

  • d의 0 번째 인덱스에 1을 넣고 1, 2, 3의 합으로 나타내는 방법의 수를 구하기 위해 더해 나간다.


코드

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[] arr = new int[N];
        for (int i = 0; i < N; i++) {
            arr[i] = Integer.parseInt(br.readLine());
        }

        for (int i = 0; i < N; i++) {
            System.out.println(getNumberOfCases(arr[i]));
        }
    }

    static int getNumberOfCases(int num) {
        int[] d = new int[num + 1];
        d[0] = 1;
        for (int i = 1; i <= num; i++) {
            d[i] += d[i - 1];
            if (i >= 2) {
                d[i] += d[i - 2];
            }
            if (i >= 3) {
                d[i] += d[i - 3];
            }
        }

        return d[num];
    }
}


profile
내일은 개발왕 😎

0개의 댓글