We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8324e7b commit f0078f4Copy full SHA for f0078f4
1 file changed
YoonYn9915/dp/2025-02-22-[백준]-#2169-로봇 조종하기.py
@@ -0,0 +1,31 @@
1
+import sys
2
+
3
+input = sys.stdin.readline
4
5
+N, M = map(int, input().split())
6
+arr = []
7
+for i in range(N):
8
+ arr.append(list(map(int, input().split())))
9
10
+# 첫번째 행의 최대가치는 왼쪽에서 오는 방향밖에 없음
11
+for i in range(1, M):
12
+ arr[0][i] += arr[0][i - 1]
13
14
+for i in range(1, N):
15
+ # 위쪽, 왼쪽에서 오는 경로의 최대 가치 저장
16
+ dp1 = arr[i][:]
17
+ # 위쪽, 오른쪽에서 오는 경로의 최대 가치 저장
18
+ dp2 = arr[i][:]
19
+ for j in range(M):
20
+ if j == 0:
21
+ # 첫번째 행은 왼쪽에서 오는 경로가 없음
22
+ dp1[j] += arr[i - 1][j]
23
+ dp2[M - 1 - j] += arr[i - 1][M - 1 - j]
24
+ else:
25
+ # 위에서 오거나 왼쪽에서 오는 것 중 최대값
26
+ dp1[j] += max(arr[i - 1][j], dp1[j - 1])
27
+ # 위에서 오거나 오른쪽에서 오는 것 중 최대값
28
+ dp2[M - 1 - j] += max(arr[i - 1][M - 1 - j], dp2[M - j])
29
30
+ arr[i][j] = max(dp1[j], dp2[j])
31
+print(arr[-1][-1])
0 commit comments