RGB Street
๋ด ์ ๊ทผ ๋ฐฉ๋ฒ : 1์ฐจ์ DP
d[n] = n๊ฐ์ ์ง ์์น ์ต์ ๋น์ฉ => n๋ฒ์งธ ์ง ์์ด 0์ธ์ง, 1์ธ์ง, 2์ธ์ง์ ๋ฐ๋ผ ์ต์๊ฐ์ ๊ตฌํ๋ฉด ์ ๋ต์ด ๋๋ค! d[n] = Math.min(d[n-1]+P[0] , d[n-1]+P[1] , d[n-1]+P[2])
์ ๋ต ์ฐพ๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ ๋ง์๋ค! ๊ทธ๋ฐ๋ฐ ์ ๋ต์๋ 2์ฐจ์ DP๋ฅผ ์ ์ํด์ n๋ฒ์งธ ์ง์ ์์ ํจ๊ป ๊ธฐ๋กํด์ฃผ์๋ค! d[n] = Math.min(d[n][0], d[n][1], d[n][2]) d[n][0] = Math.min(d[n-1][1],d[n-1][2]) + P[n][0] d[n][1] = Math.min(d[n-1][0],d[n-1][2]) + P[n][1] d[n][2] = Math.min(d[n-1][0],d[n-1][1]) + P[n][2]
์ฌ๊ธฐ์ d[n-1]์ด๋ผ๊ณ ๋จ์ํ ๊ณ์ฐํ๋๋ฐ, ์ฌ์ค n๋ฒ์งธ ์ง ์์ด 0 ์ด๋ผ๋ฉด n-1์ 1 ๋๋ 2 ์ค ์ต์๊ฐ์ด ๋๋ค!!! ๋ง์ฐฌ๊ฐ์ง๋ก n=1 ) n-1 = 0 ๋๋ 2 ์ค ์ต์๊ฐ ๋ง์ฐฌ๊ฐ์ง๋ก n=2 ) n-1 = 0 ๋๋ 1 ์ค ์ต์๊ฐ
n-1๊ณผ n-1 = 0 ๋๋ 1 ์ค ์ต์๊ฐ์ ๋ค๋ฅด๋ค.
Last updated