|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int N;
int Tri[600][600];
int dp[600][600];
int solution(vector<vector<int>> triangle) {
int answer = 0;
N=triangle.size();
for(int i=0;i<N;i++){
for(int j=0;j<triangle[i].size();j++)
Tri[i][j]=triangle[i][j];
}
for(int i=0;i<N;i++){
dp[N-1][i]=Tri[N-1][i];
}
for(int i=N-1;i>=1;i--){
for(int j=0;j<=i;j++){
dp[i-1][j]=Tri[i-1][j]+max(dp[i][j],dp[i][j+1]);
}
}
return dp[0][0];
}
|
cs |
출처: https://school.programmers.co.kr/learn/courses/30/lessons/43105
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
탑다운 방식으로포 풀어볼까 했는데, 굳이? 문제가 바텀업으로 해결하라는 것 같아서 바텀업으로 해결.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [c++] 등굣길 (0) | 2022.09.19 |
|---|---|
| [c++] 이중우선순위큐 (1) | 2022.09.19 |
| [c++] 최고의 집합 (0) | 2022.09.18 |
| [JAVA] n-queen (0) | 2022.09.16 |
| [JAVA] 전력망을 둘로 나누기 (0) | 2022.09.16 |