Skip to content

Commit e6101a9

Browse files
Merge pull request #1712 from CodingTestStudy2/최원준
[최원준] Day29
2 parents f9ab807 + a92f4ef commit e6101a9

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#
2+
3+
'''
4+
1. 아이디어 :
5+
완전탐색보다는 dp 문제
6+
nums1[i], nums2[j]를 순회한다.
7+
nums1[i] == nums2[j]인 경우,
8+
i번째 다음, j번째 다음으로 매칭된 값 (i번째 숫자와 j번째 숫자가 모두 연결되지 않은 상태의 최대값)의 +1
9+
아닌 경우,
10+
i-1번째 숫자의 최대값 또는 j-1번째 숫자의 최대값을 누적한다.
11+
12+
2. 시간복잡도 :
13+
O(n * m + n * m) -> O(m + n * m)
14+
15+
3. 자료구조/알고리즘 :
16+
dp
17+
18+
'''
19+
class Solution:
20+
def maxUncrossedLines(self, nums1: List[int], nums2: List[int]) -> int:
21+
# lines, start1, start2,
22+
# dp
23+
# 가장 처음 만나는 숫자
24+
"""
25+
[0],[0],[0],[0],[0],[0],[0]
26+
[0],[0],[0],[1],[1],[1],[2]
27+
[0],[0],[1],[1],[1],[2],[2]
28+
[0],[0],[1],[1],[2],[2],[2]
29+
[0],[0],[1],[2],[2],[2],[3]
30+
[0],[0],[1],[1],[1],[3],[3]
31+
"""
32+
n = len(nums1)
33+
m = len(nums2)
34+
# dp = [[0] * (m+1) for _ in range(n+1)]
35+
36+
# for i in range(1, n+1):
37+
# for j in range(1, m+1):
38+
# if nums1[i-1] == nums2[j-1]:
39+
# dp[i][j] = dp[i-1][j-1]+1
40+
# else:
41+
# dp[i][j] = max(dp[i-1][j], dp[i][j-1])
42+
43+
prev = [0] * (m+1)
44+
for i in range(1, n+1):
45+
curr = [0] * (m+1)
46+
for j in range(1, m+1):
47+
if nums1[i-1] == nums2[j-1]:
48+
curr[j] = prev[j-1]+1
49+
else:
50+
curr[j] = max(curr[j-1], prev[j])
51+
prev = curr
52+
53+
return curr[m]
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#
2+
3+
'''
4+
1. 아이디어 :
5+
n을 10으로 나눴을때의 몫 * 자릿수
6+
7+
2. 시간복잡도 :
8+
O(9)
9+
10+
3. 자료구조/알고리즘 :
11+
-
12+
13+
'''
14+
class Solution:
15+
def decimalRepresentation(self, n: int) -> List[int]:
16+
ans = []
17+
digit = 0
18+
while n>0:
19+
remain = n%10
20+
if remain != 0:
21+
ans.append(remain * (10**digit))
22+
n = int(n/10)
23+
digit+=1
24+
return ans[::-1]

0 commit comments

Comments
 (0)