์ค๋ฒ1 : ๋์ ๊ณํ๋ฒ ๋ฌธ์ ์ด๋ค.
์๊ฐ
DFS๋ BFS๋ก๋ depth๊ฐ ๊น์ด์ ธ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค. ์ด ๋ฌธ์ ๋ ๋์ ๊ณํ๋ฒ์ผ๋ก ํ์ด์ผ ํ๋ค. ๊ทธ์ ์ต๋ ์ฌํ์ ๊ฐ์๋ง ์ถ๋ ฅํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ ์
์ด ๋ฌธ์ ๋ ์์น์ ๋ฐ๋ผ ๊ฐ์๊ฐ ๊ฒฐ์ ๋๋ฏ๋ก dp์ ์ธ์๋ฅผ ์ขํ์ ์์น๋ก ์ก๋ ๊ฒ์ด ์์ํ๋ค.
dp[y][x] = (y,x)์์น์์ ๊ฐ์ง ์ ์๋ ์ฌํ ๊ฐ์์ ์ต๋๊ฐ
์ ํ์
์ด ์ ์์ ๋ถํฉํ๋ ์ ํ์์ ์ด๋ค์์ผ๋ก ์งค ์ ์์๊น? ์ ํ์์ ์์์ ์ขํ ์์น์์ ์ด ์ขํ๊ฐ ๋ง๋ค์ด์ง๊ธฐ ์ํด ์ด๋ค ์ขํ์์ ์ฐ๊ด์ฑ์ด ์๋์ง๋ฅผ ํ์ธํ๋ฉด ๋๋ค. ๋ฌธ์ ์์ ํน์ ์์น์์ ๊ฐ ์ ์๋ ๋ฐฉํฅ์ ์ฐ, ์ข, ๋๊ฐ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํน์ ์์น์์์ ์ฌํ์ ์ต๋๊ฐ์ ์ข, ์ฐ, 10์๋ฐฉํฅ ๋๊ฐ์ ์ธ ๋ฐฉํฅ์ ๊ฐ์ผ๋ก ๋ถํฐ ๋์ถ๋ ์ ์๋ค.
dp[y][x] = max(dp[y-1][x], dp[y][x-1], dp[y-1][x-1]) + input[y][x]
์ฃผ์ํ ์
(1, 1)์์ ์์ํ๋ฏ๋ก (1, 1), (1ํ, 1), (1, 1์ด)์ ์์น์์๋ 3๋ฐฉํฅ์์ ์ ๋ฐ์ดํธ๋ฅผ ํ ์ ์๋ค. ์ด ์ ์ ๊ณ ๋ คํ์ฌ ๋ถ๊ธฐ๋ฅผ ๋ง๋ค์ด ์ฝ๋๋ฅผ ์ง๋ ๊ฒ์ด ์ข๋ค.