diff --git "a/alstjr7437/DP/\352\265\254\352\260\204-\353\202\230\353\210\204\352\270\260.py" "b/alstjr7437/DP/\352\265\254\352\260\204-\353\202\230\353\210\204\352\270\260.py"
new file mode 100644
index 0000000..6c56569
--- /dev/null
+++ "b/alstjr7437/DP/\352\265\254\352\260\204-\353\202\230\353\210\204\352\270\260.py"
@@ -0,0 +1,21 @@
+# n, m = map(int,input())
+
+# num = [ i for i in range(n): int(input())]
+
+# dp = [[-1e9] * m for _ in range(n+1)]
+# for i in range(n):
+
+import sys
+input = sys.stdin.readline
+
+n, m = map(int, input().split())
+dp1 = [[0]+[-1e9]*m for i in range(n+1)]
+dp2 = [[0]+[-1e9]*m for i in range(n+1)]
+num = [int(input()) for i in range(n) ]
+
+for i in range(1, n+1):
+ for j in range(1, min(m, (i+1)//2)+1):
+ dp2[i][j]=max(dp1[i-1][j], dp2[i-1][j])
+ dp1[i][j]=max(dp1[i-1][j], dp2[i-1][j-1])+num[i-1]
+print(max(dp1[n][m], dp2[n][m]))
+
diff --git a/alstjr7437/README.md b/alstjr7437/README.md
index 4b3dfca..3524344 100644
--- a/alstjr7437/README.md
+++ b/alstjr7437/README.md
@@ -17,4 +17,6 @@
| 13차시 | 2024.02.29 | DP | 쉬운 계단 수 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/42 |
| 14차시 | 2024.03.03 | 브루트포스 | 마인크래프트 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/48 |
| 15차시 | 2024.03.09 | 우선순위 큐 | 파일 합치기3 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/53 |
-| 16차시 | 2024.03.13 | 정렬 | 선 긋기 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/57 |
\ No newline at end of file
+| 16차시 | 2024.03.13 | 정렬 | 선 긋기 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/57 |
+| 17차시 | 2024.03.16 | DP | 구간 나누기 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/61 |
+| 18차시 | 2024.03.23 | 다익스트라 | 최단 경로 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/66 |
\ No newline at end of file
diff --git "a/alstjr7437/\352\267\270\353\236\230\355\224\204/\354\265\234\353\213\250\352\262\275\353\241\234.py" "b/alstjr7437/\352\267\270\353\236\230\355\224\204/\354\265\234\353\213\250\352\262\275\353\241\234.py"
new file mode 100644
index 0000000..c50db6d
--- /dev/null
+++ "b/alstjr7437/\352\267\270\353\236\230\355\224\204/\354\265\234\353\213\250\352\262\275\353\241\234.py"
@@ -0,0 +1,40 @@
+from heapq import *
+import sys
+
+input = sys.stdin.readline
+
+v, e = map(int, input().split())
+k = int(input())
+
+# 그래프 만들기
+graph = [[] for _ in range(v + 1)]
+for _ in range(e):
+ a, b, c = map(int, input().split())
+ graph[a].append((c, b))
+
+# 결과 저장할 변수 만들기
+heap = []
+result = [int(1e9)] * (v + 1)
+
+# k 넣기
+result[k] = 0
+heappush(heap, (0, k))
+
+# 다익스트라 돌리기
+while heap:
+ weight, now = heappop(heap)
+ # print(weight,now, heap, result)
+ if result[now] < weight:
+ continue
+ for next_weight, next_node in graph[now]:
+ total_weight = weight + next_weight
+ if total_weight < result[next_node]:
+ result[next_node] = total_weight
+ heappush(heap, (total_weight, next_node))
+
+# 결과 출력하기
+for i in range(1, v + 1):
+ if result[i] == int(1e9):
+ print("INF")
+ else:
+ print(result[i])
diff --git "a/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py" "b/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py"
deleted file mode 100644
index 01e1add..0000000
--- "a/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py"
+++ /dev/null
@@ -1,3 +0,0 @@
-
-# dohwaji[i][0] += 1000000000
-# dohwaji[i][1] += 1000000000
\ No newline at end of file