Sad Puppy 3 BFS 순회 :: 개발자 아지트
from collections import defaultdict, deque

def solution(graph, start):
    # 트리 생성 
    tmp_tree = defaultdict(list)
    for i, v in graph:
        tmp_tree[i].append(v)

    print(tmp_tree)
    
    def dfs(start):
        visited = set()
        queue = deque([start])
        visited.add(start)
        result.append(start)

        while queue:       
            node = queue.popleft() # 순차적으로 처리함 
            for injeop in tmp_tree.get(node, []):
                print('node', node, 'injeop', injeop)
                if injeop not in visited:
                    queue.append(injeop)
                    visited.add(injeop)
                    result.append(injeop)

    result = []
    dfs(start)  
    return result

+ Recent posts