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

'CodingTest > solved - Python' 카테고리의 다른 글

벨만포드 알고리즘  (0) 2024.04.09
다익스트라 알고리즘  (0) 2024.04.08
DFS 순회  (0) 2024.04.06
[프로그래머스 lv2]전화번호 목록.ver2  (0) 2024.04.05
[프로그래머스 lv2]영어 끝말잇기.ver2  (0) 2024.04.05

+ Recent posts