코딩테스트
[백준] 9461번 : 파도반 수열 (JAVA)
생각없는 개발자
2025. 2. 25. 22:32
1. 문제 분석
점화식이 비교적 바로 떠오른 DP문제이다. 역시 DP문제는 점화식만 떠오르면 코드도 간결하고 쉬운거 같다.
시간복잡도 : O(N)
알고리즘 : DP
2. 문제 풀이
P(1)부터 P(5)까지는 규칙이 없다. 그 이후에는 N번째 삼각형은 N-1번째와 N-5번째의 삼각형 변을 더한 값을 가진다.
-
- dp[i] = dp[i-1] + dp[i-5]
3. 코드 구현
import java.util.Scanner;
public class BOJ_9461 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
long[] P = new long[101];
P[1] = 1;
P[2] = 1;
P[3] = 1;
P[4] = 2;
P[5] = 2;
for(int i = 0; i < T; i++){
int N = sc.nextInt();
for(int k = 6; k <= N; k++){
P[k] = P[k-1] + P[k-5];
}
System.out.println(P[N]);
}
sc.close();
}
}