본문 바로가기
알고리즘/백준

백준 9461 파도반 수열 (JAVA 자바 풀이)

by Renechoi 2022. 12. 9.

백준 9461 파도반 수열 (JAVA 자바 풀이)

 


 

 

📌 문제 

N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오.

 

 

⚔ 입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100)

 

 

📣 출력

각 테스트 케이스마다 P(N)을 출력한다.

 

 

 

 


 

 

 

💎 문제 분석

 

 

int로 선언시 틀리는 점에 주의하자.

 

 

💡 코드 구현

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	private static long[] dp;

	public static void main(String[] args) throws IOException {

		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

		int testCases = Integer.parseInt(bufferedReader.readLine());

		dp = new long[100 + 6];
		dp[1] = 1;
		dp[2] = 1;
		dp[3] = 1;
		dp[4] = 2;
		dp[5] = 2;

		for (int i = 0; i < testCases; i++) {
			int N = Integer.parseInt(bufferedReader.readLine());
			System.out.println(dpWave(N));
		}
	}

	private static long dpWave(int N) {
		for (int i = 6; i <= N; i++) {
			dp[i] = dp[i - 1] + dp[i - 5];
		}
		return dp[N];
	}
}

 

 

 

 

 

 

 

반응형