๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์ •์ˆ˜ ์‚ผ๊ฐํ˜•

์š”์ผ์ด 2023. 3. 8. 13:39
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/43105#qna

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

ํ’€์ด

class Solution {
    public int solution(int[][] triangle) {

        int answer = 0;

        for(int i=triangle.length-2; i>=0; i--){
            for(int j=0; j<triangle[i].length; j++){
                triangle[i][j] = Math.max(triangle[i+1][j]+triangle[i][j], triangle[i+1][j+1]+triangle[i][j]);
            }
        }

        answer = triangle[0][0];

        return answer;
    }
}

 

์ฒ˜์Œ์— DFS๋กœ ํ’€์—ˆ๋‹ค๊ฐ€ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋– ์„œ ๋ดค๋”๋‹ˆ ๊ฑฐ๊พธ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋”๋ผ

๊ฑฐ๊พธ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด์„œ ์ž์‹ ๋…ธ๋“œ์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ๋”ํ•ด ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ €์žฅํ•˜๊ณ  ํ•ด์„œ ๊ณ„์‚ฐํ•˜์˜€๋‹ค.

 

๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ•œ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•ด์•ผํ•œ๋‹ค๋Š”๊ฒŒ ํ•ต์‹ฌ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

Comments