Skip to content

Commit fffcffb

Browse files
Merge pull request #1974 from CodingTestStudy2/변지협
[변지협] Day05
2 parents d18b63f + 3088978 commit fffcffb

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
"""
2+
[[1,0],[2,1],[3,1],[3,7],[4,3],[5,3],[6,3]]
3+
4+
0 (3) -> 1 (2) -> 2 (5)
5+
-> 3 (4) -> 4 (6)
6+
-> 5 (1)
7+
-> 6 (7)
8+
1 > 0
9+
2 > 1
10+
3 > 1
11+
3 > 7
12+
4 > 3
13+
5 > 3
14+
6 > 3
15+
16+
bfs로 풀어보려고 했는데 시간초과가 난다.
17+
"""
18+
19+
from collections import defaultdict, deque
20+
21+
class Solution:
22+
def loudAndRich(self, richer: List[List[int]], quiet: List[int]) -> List[int]:
23+
dic = defaultdict(list)
24+
n = len(quiet)
25+
26+
for x,y in richer:
27+
dic[y].append(x)
28+
29+
ans = []
30+
31+
for i in range(n):
32+
quiet_min = 99999
33+
quiet_person = -1
34+
queue = deque()
35+
queue.append(i)
36+
37+
while True:
38+
if len(queue) == 0:
39+
break
40+
41+
element = queue.popleft()
42+
if quiet_min > quiet[element]:
43+
quiet_min = quiet[element]
44+
quiet_person = element
45+
46+
if element in dic:
47+
for j in dic[element]:
48+
queue.append(j)
49+
50+
ans.append(quiet_person)
51+
52+
return ans

0 commit comments

Comments
 (0)