목차

여행경로

ps
링크programmers.co.kr/…
출처프로그래머스
문제 번호43164
문제명여행경로
레벨Level 3
분류

그래프, DFS, 오일러 패스

시간복잡도O(eloge)
인풋사이즈e<=???
사용한 언어Python
해결날짜2020/12/16
태그

고득점 Kit - DFS/BFS

풀이

코드

"""Solution code for "Programmers 43164. 여행경로".

- Problem link: https://programmers.co.kr/learn/courses/30/lessons/43164
- Solution link: http://www.teferi.net/ps/problems/programmers/43164
"""

import collections


def dfs_rec(graph, u):
    ret = []
    while graph[u]:
        ret = dfs_rec(graph, graph[u].pop()) + ret
    return [u] + ret


def solution(tickets):
    graph = collections.defaultdict(list)
    for u, v in tickets:
        graph[u].append(v)
    for nodes in graph.values():
        nodes.sort(reverse=True)
    return dfs_rec(graph, 'ICN')