[프로그래머스] 정수 삼각형
[프로그래머스] 정수 삼각형
https://school.programmers.co.kr/learn/courses/30/lessons/43105?language=cpp
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
해결전략
Dynamic Programming (DP) 동적계획법
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> triangle) {
int answer = 0;
int dp[500][500];
dp[0][0] = triangle[0][0];
dp[1][0] = dp[0][0] + triangle[1][0];
dp[1][1] = dp[0][0] + triangle[1][1];
for(int y = 2; y < triangle.size(); y++)
{
for(int x = 0; x < triangle[y].size(); x++)
{
if (x == 0)
dp[y][x] = dp[y - 1][x] + triangle[y][x];
else if (x == triangle[y].size())
dp[y][x] = dp[y - 1][x - 1] + triangle[y][x];
else
dp[y][x] = max(dp[y - 1][x - 1], dp[y - 1][x]) + triangle[y][x];
if (dp[y][x] > answer) answer = dp[y][x];
}
}
return answer;
}
유사문제
'⭐ 코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 C++] 숫자의 표현 (0) | 2023.08.12 |
---|---|
[프로그래머스] 이진 변환 반복하기 (0) | 2023.07.30 |
[프로그래머스] 최솟값 만들기 (0) | 2023.07.29 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2023.07.27 |
[프로그래머스] 최댓값과 최솟값 (0) | 2023.07.23 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스] 이진 변환 반복하기
[프로그래머스] 이진 변환 반복하기
2023.07.30 -
[프로그래머스] 최솟값 만들기
[프로그래머스] 최솟값 만들기
2023.07.29 -
[프로그래머스] JadenCase 문자열 만들기
[프로그래머스] JadenCase 문자열 만들기
2023.07.27 -
[프로그래머스] 최댓값과 최솟값
[프로그래머스] 최댓값과 최솟값
2023.07.23