성우리뷰
정수삼각형
두원공대88학번뚜뚜
2021. 7. 24. 00:13
#include <string>
#include <vector>
using namespace std;
int dp[500][500];
int solution(vector<vector<int>> triangle) {
int answer = 0;
dp[0][0] = triangle[0][0];
for(int i=0; i<triangle.size()-1; i++) {
for(int j=0; j<triangle[i].size(); j++) {
dp[i+1][j] = dp[i+1][j] > dp[i][j] + triangle[i+1][j]?
dp[i+1][j] : dp[i][j] + triangle[i+1][j];
dp[i+1][j+1] = dp[i+1][j+1] > dp[i][j] + triangle[i+1][j+1]?
dp[i+1][j+1] : dp[i][j] + triangle[i+1][j+1];
}
}
for(int i=0; i<triangle.size(); i++) {
answer = answer > dp[triangle.size()-1][i] ?
answer : dp[triangle.size()-1][i];
}
return answer;
}
레벨3치곤 쉽다