본문 바로가기
코딩테스트/BOJ

[JAVA] 백준 9095번 - 1, 2, 3 더하기

by 의정부핵꿀밤 2022. 5. 4.
728x90

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

 

9095번: 1, 2, 3 더하기

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

www.acmicpc.net


이거 백준 강의 들을 때 풀었던 문젠데 고새 까먹음,,

나 완전탐색 진짜 못하는 듯,,,

역시 코테는 꾸준히 해야하나부다... 암튼...

이거 풀이 참고해서 풀었고 아래는 코드!

 

자바 코드)

import java.util.Scanner;

public class Main {
    static int dp[] = new int[11];

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int t = scanner.nextInt(); // 테스트 케이스

        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4;

        for(int i=4;i<11;i++) {
            dp[i] = dp[i-1] + dp[i-2] + dp[i-3]; // 점화식
        }

        for(int i=0;i<t;i++) {
            int n = scanner.nextInt();
            System.out.println(dp[n]);
        }
    }
}

음 그냥 그때그때 구하는게 더 효율성 좋을 것 같긴 한데 이 문제는 11까지 밖에 없어서 그냥 다 구해서 저장해버림

완전탐색 특성이 점화식 사용하고, 이미 구한 값은 다시 안 구하는걸로 기억함

이 문제도 점화식만 구하면 끝나는 문제였지만 난 점화식을 구하지 못하지 하하!

암튼 더 연습해볼게!

728x90

댓글