Skip to content

Commit 56e408f

Browse files
committed
feat:dfs
1 parent fda6ab3 commit 56e408f

File tree

3 files changed

+46
-5
lines changed

3 files changed

+46
-5
lines changed

Week5/공통/연속부분수열_합의개수/suhyun.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ def solution(elements):
66
k = elements.popleft()
77
elements.append(k)
88
for i in range(1,len(elements)):
9-
print(list(elements)[:i])
9+
# print(list(elements)[:i])
1010
answer.add(sum(list(elements)[:i]))
1111
answer.add(sum(elements))
1212
return len(answer)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# https://yjg-lab.tistory.com/398 이 블로그보고 문제 이해함
2+
group = []
3+
def solution(cards):
4+
answer = 0
5+
visited = [False] * len(cards)
6+
for start in range(len(cards)):
7+
selected = [start + 1]
8+
if visited[start] == False:
9+
visited[start] = True
10+
dfs(cards, selected, visited, start, cards[start])
11+
group.append(selected)
12+
13+
print(group)
14+
a1, a2 = 0, 0
15+
idx1, idx2 = 0, 0
16+
v_group = [False] * len(group)
17+
for i, g in enumerate(group):
18+
if len(g) > a1:
19+
if v_group[i] == False:
20+
a1 = len(g)
21+
idx1 = i
22+
v_group[i] = True
23+
# print(a1)
24+
# print(idx1)
25+
v_group = [False] * len(group)
26+
v_group[idx1] = True
27+
for i, g in enumerate(group):
28+
if len(g) > a2:
29+
if v_group[i] == False:
30+
a2 = len(g)
31+
idx2 = i
32+
v_group[i] = True
33+
print(a2)
34+
return a1 * a2
35+
36+
def dfs(cards, selected, visited, start, num):
37+
next_num = cards[num - 1] # 4 7 1
38+
if visited[num-1] == False:
39+
visited[num-1] = True
40+
selected.append(next_num)
41+
dfs(cards, selected, visited, start, next_num)
42+
else:
43+
selected[-1] = cards[num - 1]
44+
45+
print(solution([8,6,3,7,2,5,1,4]))

Week5/공통/혼자놀기의달인/test.java

-4
This file was deleted.

0 commit comments

Comments
 (0)