Skip to content

Commit 9b7ba22

Browse files
[프로그래머스] DP - 완전범죄
1 parent 4a8049a commit 9b7ba22

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
for a in range(n):
26+
for b in range(m):
27+
if dp[a][b]:
28+
return a
29+
30+
return -1

0 commit comments

Comments
 (0)