백준 9465

혀니앤·2021년 2월 8일
0

C++ 알고리즘

목록 보기
12/118

★★★☆☆

이전 DP 문제들과 마찬가지로,
배열의 값에 최댓값들을 집어넣으면서 처리하면 되는 문제
위, 아래, 안고르기 의 3가지 경우를 선택하여 한 줄씩 늘려간다는 방식으로 접근했다

다른사람들의 코드를 보니, 안고르기의 경우는 어차피 합산되지 않으므로, max값을 구하는 수식에 변화를 주는 방식으로 처리했다.

내 코드로 표현해보자면 이런 느낌

max(dp[i-1][1],dp[i-2][1]) + sticker[i][2]

for문을 3개 이상 겹치지 않았는데도, 3개 이상 겹친 코드보다 시간이 더 오래걸렸다

https://github.com/jeongopo/DaliyCodeCpp/commit/33912758e3df385a4bc467f65415e81c0c361ad3

profile
일단 시작하기

0개의 댓글