코드짜기가 너무 어렵고 시간이 너무 흘러서 다른 사람의 코드를 보기로 함.
🔗풀이 참고
https://gurumee92.tistory.com/165
def solution(tickets):
# 1. 그래프 생성
routes = dict()
for (start, end) in tickets:
routes[start] = routes.get(start, []) + [end]
# 2. 시작점 - [끝점] 역순으로 정렬
for r in routes.keys():
routes[r].sort(reverse=True)
# 3. DFS 알고리즘으로 path를 만들어줌.
st = ["ICN"]
path = []
while st:
top = st[-1]
if top not in routes or len(routes[top]) == 0:
path.append(st.pop())
else:
st.append(routes[top][-1])
routes[top] = routes[top][:-1]
# 4. 만든 path를 거꾸로 돌림.
answer = path[::-1]
return answer
🔗프로그래머스 - 여행경로
https://programmers.co.kr/learn/courses/30/lessons/43164