์ค๋ฒ1 : ๋์ ๊ณํ๋ฒ ๋ฌธ์ ์ด๋ค.
์๊ฐ
๋์ ๊ณํ๋ฒํ๋ฉด ์ ๋ช ํ ๋ฌธ์ ์ด๋ค. ๋๋ ๋์ ๊ณํ๋ฒ์ ํ ๋ ๋ณดํต ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ์ํ์ ๋ํ ์ ์์ ์ ํ์์ ์ง๊ด์ผ๋ก ๋๋ฆฐ๋ค. (
๊ฐ..) - ์์ฐจ์ ์ผ๋ก ์์ ํ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ทธ๋ ค๋ณธ๋ค.
๋ฌธ์ ๊ฐ ์ ์๋ณด์ด๋ฉด 2๋ฒ ๋ฐฉ๋ฒ์ ์ ํํ๋๋ฐ, ์ด ๋ฌธ์ ๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
|1|2|
|:|:|
|R||
|G|R|
|B||
|R||
|G|G|
|B||
|R||
|G|B|
|B||
1๋ฒ ์ง์์ 2๋ฒ ์ง์ผ๋ก ๋์ด๊ฐ ๋, 2๋ฒ ์ง์ ์ ํ์ ๋ฐ๋ผ 1๋ฒ์ง์ ์ ํ์ 2๋ฒ ์ง์์ ์ ํํ ์์ ์ ์ธํ ๋๊ฐ์ง ์์ผ๋ก ์ ํด์ง๋ค. ์ฌ๊ธฐ์ Dp์ ์ ์ ๋ฐฉ๋ฒ์ ํน์ง์ด ๋๋ฌ๋๋๋ฐ, ์ฌ์ค ๋๋ ์ฒ์ ์๊ฐํ ๋, 1๋ฒ์ด ์ ํ์ ํ๊ณ , 2๋ฒ์ด ์ด๋ป๊ฒ ๋ฐ๋๋ ์ง๋ฅผ ์๊ฐํ๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ์ฝ๋๋ฅผ ์งค ๊ฒฝ์ฐ ๊ต์ฅํ ๊ท์ฐฎ๊ณ ์ด๋ ต๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. dp์ ์ ์๋ ํด๋น ์์น๊น์ง์ ์ด๋ค ์๋ฏธ๋ฅผ ์ฃผ๋ ๊ฒ์ด ๋ฌธ์ ๋ฅผ ํ์ดํ ๋ ํจ์ฌ ์์ํ๋ค. ์ด๊ฒ์ ์์ด์์ ์ผ๋ฐํญ์ ์ ์์ ๋น์ทํ๋ค.
์ ์
dp[N][color]
= N๋ฒ ์ง์ color๋ฅผ ์น ํ์ ๋ ๋ฐ์ํ๋ ์ต์ ๊ฐ
color ๋ณ์๋ฅผ ์ถ๊ฐํ ์ด์ ๋, ํด๋น ์ง์ ์ด๋ค ์์ ์น ํ๋์ ๋ฐ๋ฅธ ๊ฐ๊ฒฉ์ ๋ง์ง๋ง์ ์ต์ข ์ ์ผ๋ก ๋น๊ตํด์ฃผ๊ธฐ ์ํจ์ด๋ค.
์ ํ์
dp[N][color1] = min(dp[N-1][color2], dp[N-1][color3]) + cost[i][color1]
color2, color3
๋ color1์ด์ธ์ ๋ ์์ ์๋ฏธํ๋ค.