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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

티스토리

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

Devhoyas

[백준 알고리즘] 2156번 포도주 시식 (JAVA)
Algorithm

[백준 알고리즘] 2156번 포도주 시식 (JAVA)

2022. 5. 16. 21:16

 


주의 사항

  • 포도주를 마시는 경우의 수가 3가지 이기 때문에 i = 1, i = 2, i = 3을 계산 후 i = 4 일때부터 시작해야한다.
    • OOX, OXO, XOO (총 3가지)

 


코드 블럭

package boj401;

import java.util.Scanner;

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

        int n = scanner.nextInt();

        int[] arr = new int[n];

        for (int i = 0; i < n; i++) {
            arr[i] = scanner.nextInt();
        }

        int[] dp = new int[n];

        if (n < 3) {
            if (n == 1) {
                System.out.println(arr[0]);
                return;
            } else if (n == 2) {
                System.out.println(arr[0] + arr[1]);
                return;
            } else if (n == 3) {
                System.out.println(Math.max(dp[1], Math.max(arr[0] + arr[2], arr[1] + arr[2])));
                return;
            }
        }
        dp[0] = arr[0];
        dp[1] = arr[0] + arr[1];
        dp[2] = Math.max(dp[1], Math.max(arr[0] + arr[2], arr[1] + arr[2]));

        for (int i = 3; i < n; i++) {
            dp[i] = Math.max(dp[i - 1], Math.max(dp[i - 2] + arr[i], dp[i - 3] + arr[i-1] + arr[i]));
        }

        System.out.println(dp[n - 1]);
    }

}
저작자표시 비영리 변경금지 (새창열림)

'Algorithm' 카테고리의 다른 글

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

    티스토리툴바