본문 바로가기
프로그래머스

정수 삼각형

by paysmile 2019. 9. 23.
#include <string>
#include <vector>
#include <algorithm>
#include <cstring>

using namespace std;
const int MAX = 501;
int num[MAX][MAX];

int maxvalue(vector<vector<int>> t) {
	int value = -1;
	num[0][0] = t[0][0];
	
	for (int i = 1; i < t.size(); i++) {
		for (int j = 0; j < t[i].size(); j++) {
			if (j == 0)
				num[i][j] = t[i][j] + num[i - 1][0];
			else if (j == t[i].size() - 1)
				num[i][j] = t[i][j] + num[i - 1][j - 1];
			else
				num[i][j] = max(t[i][j] + num[i - 1][j - 1], t[i][j] + num[i - 1][j]);
		}
	}
	for (int j = 0; j < t[t.size() - 1].size(); j++)
		value = max(value, num[t.size() - 1][j]);
	return value;
}

int solution(vector<vector<int>> triangle) {
	int answer = 0;

	answer = maxvalue(triangle);
	return answer;
}

'프로그래머스' 카테고리의 다른 글

가장 먼 노드  (0) 2019.09.23
예산  (0) 2019.09.23
단속 카메라  (0) 2019.09.23
타일 장식물  (0) 2019.09.16
네트워크  (0) 2019.09.16