#include <string> #include <vector> #include <algorithm> using namespace std; int solution(vector<int> money) { int dp1[1000010] = {0}; int dp2[1000010] = {0}; // 출발점 : 첫번째 집 dp1[0] = money[0]; dp1[1] = money[0]; for(int i = 2; i < money.size()-1; i++) { dp1[i] = max(dp1[i-1], dp1[i-2] + money[i]); } // 출발점 : 두번째 집 dp2[1] = money[1]; for(int i = 2; i < money.size(); i++) { dp2[i] = max(dp2[i-1], dp2[i-2] + money[i]); } return max(dp1[money.size()-2], dp2[money.size()-1]); } | cs |
'Programmers > Level 4' 카테고리의 다른 글
[프로그래머스 4] 징검다리 (C/C++) (★★★) (0) | 2020.04.26 |
---|---|
[프로그래머스 4] 4단 고음 (C/C++) (★★★) (0) | 2020.03.11 |
[프로그래머스 4] 블록 게임 (C/C++) (★★) (0) | 2020.03.05 |
[프로그래머스 4] 카드게임 (C/C++) (★★) (0) | 2020.01.15 |