Skip to content

Commit 659c8cd

Browse files
Merge pull request #1910 from CodingTestStudy2/변지협
[변지협] Day27
2 parents 623bf40 + 733498e commit 659c8cd

2 files changed

Lines changed: 73 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'''
2+
1. 아이디어 :
3+
그냥 홀짝 더함
4+
5+
2. 시간복잡도 :
6+
O(n)
7+
8+
3. 자료구조/알고리즘 :
9+
'''
10+
class Solution:
11+
def alternatingSum(self, nums: List[int]) -> int:
12+
n = len(nums)
13+
ans = 0
14+
for i in range(n):
15+
if i % 2 == 0:
16+
ans += nums[i]
17+
else:
18+
ans -= nums[i]
19+
20+
return ans
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
'''
2+
그래프 그리다가 못풀었음.
3+
'''
4+
5+
class Solution:
6+
def isBipartite(self, graph: List[List[int]]) -> bool:
7+
set_a, set_b = set(),set()
8+
9+
n = len(graph)
10+
tmp = 0
11+
while True:
12+
# print('graph, tmp, set_a, set_b:', graph, tmp,set_a,set_b)
13+
if all([len(g) == 0 for g in graph]):
14+
break
15+
16+
if len(graph[tmp]) == 0:
17+
if n-1 == tmp:
18+
tmp = 0
19+
continue
20+
else:
21+
tmp += 1
22+
continue
23+
24+
element = graph[tmp].pop()
25+
graph[element].remove(tmp)
26+
27+
if element in set_a and tmp in set_a:
28+
return False
29+
30+
if element in set_b and tmp in set_b:
31+
return False
32+
33+
if element in set_a:
34+
set_b.add(tmp)
35+
continue
36+
elif element in set_b:
37+
set_a.add(tmp)
38+
continue
39+
elif tmp in set_a:
40+
set_b.add(element)
41+
continue
42+
elif tmp in set_b:
43+
set_a.add(element)
44+
continue
45+
46+
set_a.add(tmp)
47+
set_b.add(element)
48+
tmp = element
49+
50+
print('graph, tmp, set_a, set_b:', graph, tmp,set_a,set_b)
51+
52+
return True
53+

0 commit comments

Comments
 (0)