DynamicProgramming (1) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Algorithm) Dynamic programming Dynamic programming(๋์ ๊ณํ๋ฒ)์ด๋ ? ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ ์ฌ์ฉํ์ฌ ์ํ์๊ฐ ํจ์จ์ฑ์ ๋น์ฝ์ ์ผ๋ก ํฅ์์ํค๋ ๋ฐฉ๋ฒ -> ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ต๋ํ์ผ๋ก ํ์ฉํ ์ ์๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์์ฑ ! ๋ํ์ ์ธ ์์ : ํผ๋ณด๋์น ์์ด - n ๋ฒ์งธ ํผ๋ณด๋์น ์ = (n-1)๋ฒ์งธ ํผ๋ณด๋์น ์ + (n-2)๋ฒ์งธ ํผ๋ณด๋์น ์ - ๋จ, 1๋ฒ์งธ ํผ๋ณด๋์น ์ = 1,2 ๋ฒ์งธ ํผ๋ณด๋์น ์ = 1 # ํผ๋ณด๋์น ํจ์ ์์ค์ฝ๋ def fibo(x): if x == 1 or x == 2: return 1 return fibo(x-1) + fibo(x-2) print(fibo(4)) -> But, ํผ๋ณด๋์น ์์ด์ ์์ค์ฝ๋๋ฅผ ์ด๋ ๊ฒ ์์ฑํ๋ฉด ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. ๋ฐ๋ก f(n) ํจ์์์ n์ด ์ปค์ง๋ฉด ์ปค์ง์๋ก ์ํ ์๊ฐ์ด ๊ธฐํ.. ์ด์ 1 ๋ค์