[Level3] 여행경로

Quesuemon·2021년 4월 1일
0

코딩테스트 준비

목록 보기
57/111

🛠 문제

https://programmers.co.kr/learn/courses/30/lessons/43164


👩🏻‍💻 해결 방법

air 딕셔너리의 역순 정렬은 스택을 사용하기 위해서 필요했다
따라서 마지막에 정답 리스트를 reverse()하여 원래 순서대로 출력하였다

소스 코드

def solution(tickets):
    answer = []
    air = {}
    for t in tickets:
        if t[0] not in air.keys():
            air[t[0]] = [t[1]]
        else:
            air[t[0]] += [t[1]]
    for k in air:
        air[k].sort(reverse = True)
    
    stack = ['ICN']
    while stack:
        i = stack[-1]
        if i not in air or len(air[i]) == 0:
            answer.append(stack.pop())
        else:
            stack.append(air[i].pop())
            
    answer.reverse()
    return answer

0개의 댓글