728x90
반응형

2025/01/05 3

[Java] 2156. 포도주 시식

https://www.acmicpc.net/problem/2156문제 분석 과정이전에 두 잔을 연속으로 마셨다면 그 다음 잔은 마실 수 없습니다.최대 이전 3개의 값들까지만 기억하면 된다는 점을 이용해서 공간 최적화를 할 수 있습니다. 점화식dp[i−1]: 현재 잔 ii를 마시지 않고 이전 최적해를 그대로 가져오는 경우.dp[i−2]+array[i]: 이전 잔은 건너뛰고 현재 잔을 마시는 경우.dp[i−3]+array[i−1]+array[i]: 이전 잔과 현재 잔을 마시되, 두 칸 떨어진 잔은 건너뛰는 경우. dp[i]=max⁡(dp[i−1],dp[i−2]+array[i],dp[i−3]+array[i−1]+array[i])초기값 설정dp[0]=array[0]: 첫 번째 잔을 마시는 경우.dp[1]=arr..

[Java] 9465. 스티커

https://www.acmicpc.net/problem/9465문제 접근 과정선택 가능한 경우의 수양옆 불가: 같은 열의 다른 행에 위치한 스티커를 선택할 수 없습니다.위아래 불가: 인접한 대각선 방향의 스티커도 선택할 수 없습니다.대각선 가능: 한 칸 떨어진 대각선 또는 두 칸 떨어진 대각선의 스티커는 선택 가능합니다.한 칸 떨어진 대각선: 현재 스티커와 같은 열의 반대편 스티커에서 이어지는 경우.두 칸 떨어진 대각선: 현재 스티커와 같은 열보다 2칸 앞에 있는 반대편 스티커에서 이어지는 경우.한 칸 대각선과 두 칸 대각선을 포함한 세 칸 이상의 대각선은 이미 점화식에서 표현 가능합니다. 점화식DP 배열 정의dp[0][j]: 첫 번째 행의 j번째 열 스티커를 선택했을 때 얻을 수 있는 최대 점수.dp..

[Java] 2193. 이친수

https://www.acmicpc.net/problem/2193문제 접근 과정 이친수는 자리수를 기준으로 끝자리(0 또는 1)에 따라 앞의 숫자 조합이 결정됩니다.끝자리가 1인 경우:그 앞에는 반드시 0만 올 수 있습니다.끝자리가 0인 경우:그 앞에는 0과 1 모두 올 수 있습니다.  점화식DP 배열 정의:dp[length][0]: 길이가 length이고, 끝자리가 0인 이친수의 개수dp[length][1]: 길이가 length이고, 끝자리가 1인 이친수의 개수점화식:끝자리가 0인 경우:앞에 올 수 있는 숫자는 0과 1 모두 가능하므로: dp[length][0]=dp[length−1][0]+dp[length−1][1]끝자리가 1인 경우:앞에 올 수 있는 숫자는 0만 가능하므로: dp[length][1]..

728x90
반응형