Baekjoon - 9465

Tadap·2023년 11월 15일
0

Baekjoon

목록 보기
83/94

문제

Solved.ac Class4

1차시도

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int testSize = Integer.parseInt(br.readLine());
        int[][] data = null;

        for (int i = 0; i < testSize; i++) {
            int size = Integer.parseInt(br.readLine());

            data = new int[2][size];

            String[] lineA = br.readLine().split(" ");
            String[] lineB = br.readLine().split(" ");

            for (int j = 0; j < size; j++) {
                data[0][j] = Integer.parseInt(lineA[j]);
            }
            for (int j = 0; j < size; j++) {
                data[1][j] = Integer.parseInt(lineB[j]);
            }
            sb.append(solve(size, data)).append("\n");
        }
        System.out.println(sb);
    }

    private static int solve(int size, int[][] data) {
        if (size < 2) {
            return Math.max(data[0][0], data[0][1]);
        }

        data[0][1] += data[1][0];
        data[1][1] += data[0][0];

        for (int i = 2; i < size; i++) {
            data[0][i] += Math.max(data[1][i - 1], data[1][i - 2]);

            data[1][i] += Math.max(data[0][i - 1], data[0][i - 2]);
        }

        return Math.max(data[0][size - 1], data[1][size - 1]);
    }

}

런타임 에러

2차시도

if (size < 2) {
            return Math.max(data[0][0], data[0][1]);
        }

참조 값을 잘못 넣었다.

성공

DP문제는 조금 알것같은줄 알았는데 풀때마다 새롭다.
DP인걸 아는데 까지 걸리는 시간이 오래 걸린다.

0개의 댓글