[Algorithm] ๐ํ๋ก๊ทธ๋๋จธ์ค ์ ์ ์ผ๊ฐํ
0. ๋ฌธ์ 
์์ ๊ฐ์ ์ผ๊ฐํ์ ๊ผญ๋๊ธฐ์์ ๋ฐ๋ฅ๊น์ง ์ด์ด์ง๋ ๊ฒฝ๋ก ์ค, ๊ฑฐ์ณ๊ฐ ์ซ์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์๋ ์นธ์ผ๋ก ์ด๋ํ ๋๋ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ํ ์นธ ์ค๋ฅธ์ชฝ ๋๋ ์ผ์ชฝ์ผ๋ก๋ง ์ด๋ ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด 3์์๋ ๊ทธ ์๋์นธ์ 8 ๋๋ 1๋ก๋ง ์ด๋์ด ๊ฐ๋ฅํฉ๋๋ค.
์ผ๊ฐํ์ ์ ๋ณด๊ฐ ๋ด๊ธด ๋ฐฐ์ด triangle์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฑฐ์ณ๊ฐ ์ซ์์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ์ฌํญ
์ผ๊ฐํ์ ๋์ด๋ 1 ์ด์ 500 ์ดํ์ ๋๋ค.
์ผ๊ฐํ์ ์ด๋ฃจ๊ณ ์๋ ์ซ์๋ 0 ์ด์ 9,999 ์ดํ์ ์ ์์ ๋๋ค.
1. ์์ด๋์ด
๐ก 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ dp ๊ตฌํํจ
๐ก ๊ฐ์ฅ ์ผ์ชฝ, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ, ์ค๊ฐ์ ์๋ ๊ฒ ๊ตฌ๋ถํด์ ๊ณ์ฐํ๊ธฐ

2. ํต์ฌ ํ์ด
- 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ dp ๊ตฌํํจ
 
int length = triangle.length;
        
int[][] dp = new int[length][triangle[length-1].length];
- ๊ฐ์ฅ ์ผ์ชฝ, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ, ์ค๊ฐ์ ์๋ ๊ฒ ๊ตฌ๋ถํด์ ๊ณ์ฐํ๊ธฐ
 
if(j == 0){
	dp[i][j] = dp[i-1][j]+triangle[i][j];
} else if(j == i){
	dp[i][j] = dp[i-1][j-1]+triangle[i][j];
} else {
	dp[i][j] = Math.max(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];
}
3. ์ฝ๋
class Solution {
    public int solution(int[][] triangle) {
        int answer = -1;
        int length = triangle.length;
        
        int[][] dp = new int[length][triangle[length-1].length];
        dp[0][0] = triangle[0][0];
        
        for(int i=1; i<triangle.length; i++){
            for(int j=0; j<=i; j++){
                if(j == 0){
                    dp[i][j] = dp[i-1][j]+triangle[i][j];
                } else if(j == i){
                    dp[i][j] = dp[i-1][j-1]+triangle[i][j];
                } else {
                    dp[i][j] = Math.max(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];
                }
                
                answer = Math.max(dp[i][j], answer);
            }
        }
        
        return answer;
    }
}
4. ๊ฒฐ๊ณผ

์ฑ๊ณตโจ
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([Algorithm] ๐ํ๋ก๊ทธ๋๋จธ์ค ์ ์ ์ผ๊ฐํ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@kha0318/Algorithm-ํ๋ก๊ทธ๋๋จธ์ค-์ ์-์ผ๊ฐํ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
                                
                                
                                
                                
                                
                                ์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ  ๋ฐ๊ฒฌ์ ์ ๋
                                (Collection and Share based on the CC Protocol.)
                            
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค