We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4a8049a commit 9b7ba22Copy full SHA for 9b7ba22
Python/Programmers/동적계획법(Dynamic Programming)/완전범죄.py
@@ -0,0 +1,30 @@
1
+def solution(info, n, m):
2
+ MAX = 120
3
+ dp = [[False] * MAX for _ in range(MAX)]
4
+ dp[0][0] = True # 아무도 훔치지 않은 초반 상태
5
+
6
+ item_count = len(info)
7
8
+ for traceA, traceB in info:
9
+ # 도둑이 훔친 상황은 계속해서 갱신되므로 새로운 DP 테이블을 만들며 초기화함
10
+ next_dp = [[False] * MAX for _ in range(MAX)]
11
12
+ for a in range(n):
13
+ for b in range(m):
14
+ # 기존 DP 테이블이 False라면 해당 숫자는 체크 안 해도 되서 넘김
15
+ if not dp[a][b]:
16
+ continue
17
18
+ if a + traceA < n:
19
+ next_dp[a + traceA][b] = True
20
+ if b + traceB < m:
21
+ next_dp[a][b + traceB] = True
22
23
+ dp = [row[:] for row in next_dp]
24
25
26
27
+ if dp[a][b]:
28
+ return a
29
30
+ return -1
0 commit comments