Search
๐Ÿป

๊น€๊ธฐํ—Œ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
1800
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
#include<vector> #include<algorithm> using namespace std; int solution(vector<vector<int>> triangle) { int answer = 0; int s = triangle.size(); triangle[0].push_back(triangle[0][0]); for (int i = 1; i < s; i++) { triangle[i][0] = triangle[i][0] + triangle[i - 1][0]; triangle[i][i] = triangle[i][i] + triangle[i - 1][i - 1]; for (int j = 1; j < i; j++) { triangle[i][j] = triangle[i][j] + max(triangle[i - 1][j], triangle[i - 1][j - 1]); } } for (int i = 0; i < s; i++) answer = max(answer, triangle[s - 1][i]); return answer; }
C++
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
1.
j = 0 โ†’ ์œ„์—์„œ ๋‚ด๋ ค์˜ฌ ๋•Œ ์„ ํƒ์ง€๊ฐ€ dp[i-1][0]์—์„œ ๋‚ด๋ ค์˜ค๋Š” ๋ฐฉ๋ฒ•๋งŒ ์žˆ์œผ๋ฏ€๋กœ dp[i-1][0] + dp[i][0]
2.
j = i โ†’ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ ํƒ์ง€๊ฐ€ dp[i-1][i-1]์—์„œ ๋‚ด๋ ค์˜ค๋Š” ๋ฐฉ๋ฒ•๋งŒ ์žˆ์œผ๋ฏ€๋กœ dp[i-1][i-1] + dp[i][i]
3.
1โ‰คj<i โ†’ dp[i-1][j]์™€ dp[i-1][j-1] ์ค‘ ํฐ ๊ฐ’์„ ์„ ํƒํ•˜์—ฌ dp[i][j]์™€ ๋”ํ•œ๋‹ค
๋ฌธ์ œ๋Œ€๋กœ ์œ„์—์„œ ๋‚ด๋ ค์˜ฌ ๋•Œ ์œ„์˜ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์ค‘ ํฐ ๊ฐ’์„ ์„ ํƒํ•ด ํ˜„์žฌ ๊ฐ’๊ณผ ๋”ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ