꿈꾸는 개발자 박상호입니다.
Devhoyas
꿈꾸는 개발자 박상호입니다.
전체 방문자
오늘
어제
  • ALL (17)
    • Algorithm (7)
    • Java (2)
    • Go (2)
    • Spring (3)
    • Database (1)
      • MySQL (1)
      • ElasticSearch (0)
    • Http (1)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
꿈꾸는 개발자 박상호입니다.

Devhoyas

[백준 알고리즘] 9465번 스티커 (JAVA)
Algorithm

[백준 알고리즘] 9465번 스티커 (JAVA)

2022. 5. 16. 21:10


주의 사항

  • 높은 정답 비율 답게 함정이나 자료형이 초과하는 경우가 없어 문제 의도만 빠르게 파악하면 된다.

 


코드 블럭

package boj401;

import java.util.ArrayList;
import java.util.Scanner;

public class boj_9465 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        ArrayList<Long> result = new ArrayList<>();

        int t = scanner.nextInt();

        for (int i = 0; i < t; i++) {
            int n = scanner.nextInt();

            long[][] array = new long[3][n + 1];

            for (int j = 1; j < 3; j++) {
                for (int k = 1; k < n + 1; k++) {
                    array[j][k] = scanner.nextInt();
                }
            }

            long[][] dp = new long[n + 1][4];

            dp[1][1] = array[1][1]; // o x
            dp[1][2] = array[2][1]; // x o
            dp[1][3] = 0; // x x

            for (int j = 2; j <= n; j++) {
                dp[j][1] = Math.max(dp[j - 1][2],dp[j - 1][3]) + array[1][j];
                dp[j][2] = Math.max(dp[j - 1][1],dp[j - 1][3]) + array[2][j];
                long temp = Math.max(dp[j - 1][1], dp[j - 1][2]);
                dp[j][3] = Math.max(temp, dp[j - 1][3]);
            }

            long max = 0;
            for (int j = 1; j <= 3; j++) {
                max = Math.max(max, dp[n][j]);
            }

            result.add(max);

        }

        StringBuilder stringBuilder = new StringBuilder("");
        for (int i = 0; i < t; i++) {
            stringBuilder.append(result.get(i) + "\n");
        }

        System.out.println(stringBuilder);
    }
}
저작자표시 비영리 변경금지 (새창열림)

'Algorithm' 카테고리의 다른 글

[백준 알고리즘] 14889번 스타트와 링크 (JAVA)  (0) 2022.05.25
[백준 알고리즘] 2156번 포도주 시식 (JAVA)  (0) 2022.05.16
[백준 알고리즘] 1932번 정수 삼각형 (JAVA)  (0) 2022.05.16
[백준 알고리즘] 1874번 스택 수열 (JAVA)  (0) 2022.05.11
[백준 알고리즘] 9012번 괄호 (JAVA)  (0) 2022.05.11
    'Algorithm' 카테고리의 다른 글
    • [백준 알고리즘] 2156번 포도주 시식 (JAVA)
    • [백준 알고리즘] 1932번 정수 삼각형 (JAVA)
    • [백준 알고리즘] 1874번 스택 수열 (JAVA)
    • [백준 알고리즘] 9012번 괄호 (JAVA)
    꿈꾸는 개발자 박상호입니다.
    꿈꾸는 개발자 박상호입니다.
    취미를 특기로, 특기를 꿈으로, 꿈을 직업으로!

    티스토리툴바