백준 풀이/자바(Java)

백준 9461 자바 - 파도반 수열

콘스_ 2024. 5. 23. 15:52
// 파도반 수열
package Silver_III_3;

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

public class Ex9461 {
    public static void main(String[] args) throws IOException {
        long[] p = new long[101];

        p[1] = p[2] = p[3] = 1;
        for (int i = 4; i <= 100; i++) {
            p[i] = p[i - 3] + p[i - 2];
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < t; i++) {
            int n = Integer.parseInt(br.readLine());
            sb.append(p[n]).append("\n");
        }
        System.out.print(sb);
    }
}

문제의 규칙으로 삼각형을 추가했을 떄 1 1 1 2 2 3 4 5 7 9 12 16 21 28 37 49 가장 긴 변의 길이는 이런식으로 된다.

네 번째 변의 길이(i)부터는 (i - 3) + (i - 2)와 같은 결과가 나온다.