Dynamic Programming
DP๋ฅผ ์ฌ์ฉํ ์ ์๋ ์กฐ๊ฑด
Problem์ด ๋ ์์ SubProblem์ผ๋ก ์ชผ๊ฐ์ง ์ ์์ด์ผํ๋ค.
SubProblem์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์์ด์ผํ๋ค.
์ค๋ณต๋ SubProblem์ด ๊ฒน์ณ์ผํ๋ค.
์์) Fibonacci numbers
ํผ๋ณด๋์น ์์ด


์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ํผ๋ณด๋์น ๊ตฌํ
func fibonacci(_ n: Int) -> Int {
if [0, 1].contains(n) {
return n
}
return fibonacci(n - 1) + fibonacci(n - 2)
}
print(fibonacci(10))Top down ๋ฐฉ์์ DP
Bottom up ๋ฐฉ์์ DP
Last updated