[์๊ณ ๋ฆฌ์ฆ] ๋์ ๊ณํ๋ฒ๊ณผ ๋ถํ ์ ๋ณต
ยท
Problem Solving/Algorithm
๋์ ๊ณํ๋ฒ(Dynamic Programming, DP)์์ ๋ถ๋ถ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ํ ํด๋น ๋ถ๋ถ ๋ฌธ์ ๋ค์ ํด๋ฅผ ํ์ฉํ์ฌ ๋ณด๋ค ํฐ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด์ ์ต์ข
์ ์ผ๋ก ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆใ์ํฅ์ ์ ๊ทผ๋ฒใ์ผ๋ก ๊ฐ์ฅ ์ตํ์ ํด๋ต์ ๊ตฌํ ํ ์ด๋ฅผ ์ ์ฅํ๊ณ ํด๋น ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํด์ ์์ ๋ฌธ์ ๋ฅผ ํ์ด๊ฐ๋ ๋ฐฉ์Memoization ๊ธฐ๋ฒ์ ์ฌ์ฉํจMemoization(๋ฉ๋ชจ์ด์ ์ด์
)์ด๋?: ํ๋ก๊ทธ๋จ ์คํ ์ ์ด์ ์ ๊ณ์ฐํ ๊ฐ์ ์ ์ฅํ์ฌ ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ํ์ฌ ์ ์ฒด ์คํ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ ๊ธฐ์ ๋ฌธ์ ๋ฅผ ์๊ฒ ์ชผ๊ฐค ๋ ๋ถ๋ถ ๋ฌธ์ ๋ ์ค๋ณต๋์ด ์ฌํ์ฉ๋จ์: ํผ๋ณด๋์น ์์ด ๋ถํ ์ ๋ณต(Divide and Conquer)๋ฌธ์ ๋ฅผ ๋๋ ์ ์์ ๋๊น์ง ๋๋์ด์ ๊ฐ๊ฐ์ ํ๋ฉด์ ๋ค์ ํฉ๋ณํ์ฌ ๋ฌธ์ ์ ๋ต์ ์ป๋ ์๊ณ ๋ฆฌ์ฆใํํฅ์ ์ ๊ทผ๋ฒใ์ผ..