Skip to content

Conversation

@Ukj0ng
Copy link
Contributor

@Ukj0ng Ukj0ng commented Oct 7, 2025

🧷 문제 링크

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

🧭 풀이 시간

60분

👀 체감 난이도

✏️ 문제 설명

오른쪽 또는 아래로만 이동가능하고, 정해진 순서대로 우유를 먹을 때 제일 많은 우유를 먹을 수 있는 개수는?

🔍 풀이 방법

dp[i][j][k] = (i, j)에 도착했을 때, 마지막으로 마신 우유가 k인 경우의 최대 우유 개수로 상태정의를 한다.

  1. 우유 안 마시고 이동
  2. 우유 마시고 이동
    으로 경우의 수를 나눈 뒤, 갱신

이 때, 초기화도 잘해줘야 한다.

if (map[0][0] == 0) dp[0][0][0] = 1;  // 딸기 마심
dp[0][0][2] = 0;  // 아무것도 안 마심 (다음은 0을 마셔야 함)

⏳ 회고

내가 틀린 이유는 상태정의를 마지막으로 마신 우유가 아닌 현재 위치의 우유로 생각하고 풀었기 때문이다. 상태정의를 잘못했기 때문에 이후 로직이 맞았어도 틀린 로직이었다.

@ShinHeeEul ShinHeeEul merged commit a90a9db into main Oct 7, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants