본문 바로가기

개발/알고리즘

[BOJ] 계단 오르기_2579

DP문제를 풀 때 넘어야 할 산은 이게 모든 것을 고려해 준 것인가?를 판단하는 능력인 것 같다.

 

분명 어떤 식으로 풀어야 할지는 알겠으나, 풀이를 보고서도 이게 모든 것을 고려해준 것이 맞나?라는 생각이 든다.

 

해다아 코드는 문제 풀이이다.

이것을 보고 전체를 고려해 준 것이 맞나?라는 생각이 들었고,, 뭔가 맞는거 같기는 하다..

근데 무언가 확신은 들지 않는다...

이 문제를 푸는데에 가장 중요했던 점이 무엇일까??

 

바로 고려해 줘야 할 포인트인 것 같다.

dp[i] = max(dp[i - 3] + data[i - 1] + data[i], dp[i - 2] + data[i])에서

dp[i - 3] + data[i - 1] + data[i] -> 이 부분은 모든 것을 고려해 준 것이 맞다.

dp[i-3]은 세 번째전 까지의 최대 값을 구한 것이고, 이 값과 data[i - 1] + data[i]값을 더해준 값은 결국 dp[4]가 될 수 있는 모든 경우의 수 2개 중 하나이다.

 

'개발 > 알고리즘' 카테고리의 다른 글

[BOJ] 연속합_1912  (0) 2021.01.13
[BOJ] 포도주 시식_2156  (0) 2021.01.12
[BOJ] RGB거리_1149  (0) 2021.01.10
[BOJ] 촌수계산_2644  (0) 2021.01.03
[BOJ] 알파벳_1987  (0) 2021.01.02