diff --git a/_posts/2024-02-08-dynamicprogramming.md b/_posts/2024-02-08-dynamicprogramming.md
index 81f6f5d..a5b695c 100644
--- a/_posts/2024-02-08-dynamicprogramming.md
+++ b/_posts/2024-02-08-dynamicprogramming.md
@@ -66,14 +66,12 @@ $$
\sum_{j=1}^{k} ij = n
$$
-
가격표
|*length i*|1|2|3|4|5|6|7|8|9|10|
|---|---|---|---|---|---|---|---|---|---|---|
|*price pi*|1|5|8|9|10|17|17|20|24|30|
-
이렇게만 봐서는 문제를 이해하기 힘들 수 있습니다. 그럼 구체적인 예시를 들어볼까요?
@@ -116,16 +114,11 @@ def cut_rod(p, n):
그럼 Rod Cutting 문제를 다이나믹 프로그래밍을 사용하여 효과적으로 계산한 것이 될까요? **그렇지 않습니다!** n이 10인 경우는 그 이전의 9일 때와 계산 시간에서 유의미한 차이를 보이지 않습니다만, 25와 26일때를 상정하여 코드를 돌려보았을 때 기하급수적인 차이를 관찰할 수 있습니다.
-
-
**소요시간**
|*n*|25|26|
|---|---|---|
|*elapsed time*|00:00:14.8|00:00:32.2|
-
-
-
이유는 재귀 함수가 호출하는 수많은 서브 함수로 인해 시간복잡도가 무수히 늘어나기 때문이죠. 정확히는 2^n으로 기하급수적으로 함수호출의 개수가 늘어납니다. 몇가지 가정과 간단한 점화식으로 이를 증명해 보겠습니다.
위의 재귀적 정의나 코드에 따르면, 호출되는 함수의 개수를 T라고 할 때 0인 시점에 호출되는 함수를 1이라하고 시점이 1씩 늘어날 때마다 다음과 같은 산식이 됩니다.
@@ -161,9 +154,7 @@ $$
T(n) - T(n-1) = T(n-1) \\
$$
$$
-T(n) = 2T(n-1) \\
-$$
-$$
+T(
if n \geqq 2
$$
@@ -204,15 +195,11 @@ def cut_rod(p, n):
return r[n]
```
-
-
**소요시간**
|*n*|25|26|
|---|---|---|
|*elapsed time*|00:00:00|00:00:00|
-
-
끝으로 다이나믹 프로그래밍을 풀기위해 다음 4가지 단계를 다시 한번 더 리마인드 해보겠습니다. 그리고 꾸준히 문제를 푸는 것도 잊지 맙시다.