📌 고정 게시글

📢 공지합니다

이 게시글은 메인 페이지에 항상 고정되어 표시됩니다.

최코딩의 개발

[백준 2156번] 포도주 시식 본문

코딩테스트/백준

[백준 2156번] 포도주 시식

seung_ho_choi.s 2025. 3. 25. 01:20
728x90

https://www.acmicpc.net/problem/2156

 

package dp;

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

public class DP2156 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[] podo = new int[N + 1];
        int[] dp = new int[N + 1];

        for (int i = 1; i < N + 1; i++) {
            podo[i] = Integer.parseInt(br.readLine());
        }

        dp[1] = podo[1];
        if (N > 1) {
            dp[2] = podo[1] + podo[2];
        }
        for (int i = 3; i < N + 1; i++) {
            dp[i] = Math.max(dp[i - 1], Math.max(dp[i - 3] + podo[i - 1] + podo[i], dp[i - 2] + podo[i]));
        }

        System.out.println(dp[N]);


    }
}

 

OOX - dp[i-1] 

OXO - dp[i-2] + podo[i] 

XOO - dp[i-3] + podo[i] + podo[i-1]

 

이렇게 유추해서 구하면 되는 간단한 문제이다!!! 생각만 잘하면~~

728x90

'코딩테스트 > 백준' 카테고리의 다른 글

[백준 2805번] 나무 자르기  (0) 2025.04.01
[백준 11052번] 카드 구매하기  (0) 2025.03.25
[백준 15666번] 로봇 조종하기  (0) 2025.03.24
[백준 15666번] N과 M(12)  (0) 2025.03.23
[백준 2877번] 4와 7  (0) 2025.03.19