공부, 기록

프로그래머스 여행경로 파이썬(PYTHON) 본문

코딩

프로그래머스 여행경로 파이썬(PYTHON)

무는빼주세요 2020. 11. 14. 14:09

문제링크 : programmers.co.kr/learn/courses/30/lessons/43164

 

코딩테스트 연습 - 여행경로

[[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO]

programmers.co.kr

 

def solution(tickets):
    routes = {}
    for t in tickets:
        routes[t[0]] = routes.get(t[0], []) + [t[1]]
    for r in routes:
        routes[r].sort(reverse=True)
    stack = ["ICN"] 
    path = []  
    while len(stack) > 0:  
        top = stack[-1]
        if top not in routes or len(routes[top]) == 0:
            path.append(stack.pop())
        else:
            stack.append(routes[top][-1])  
            routes[top] = routes[top][:-1]
    return path[::-1]