<aside> 🔥 일정 재구성 링크
</aside>
<aside> 🔥 우선적으로 그래프를 생성하는부분까지는 방향은 비슷했으나, 방문처리를 하는 방법이 떠오르지 않았다.
키가 문자열이기 때문인데 이럴때 해설에서는 해당 값에서 아예 제거해주는 방법을 선택했다.
이런 접근방법은 그냥 숙달해야겠다.
</aside>
<aside> 🔥 입력값 tickets가 주어진다.
JFK 공항에서부터 출발해 사전식 순서로 방문하는 루트를 반환하자.
</aside>
Input: tickets = [["MUC","LHR"],["JFK","MUC"],["SFO","SJC"],["LHR","SFO"]]
Output: ["JFK","MUC","LHR","SFO","SJC"]
<aside> 🔥 (1) tickets를 노드와 노드를 연결하는 간선이라고 생각하고 2차원 객체를 만든다.
(2) JFK부터 방분하면서 하나씩 지워나간다.
</aside>
<aside> 🔥 (1) tickets를 토대로 객체 생성하기
여기서 중요한건 defaultdict로 생성하여 키값이 없어도 자동 생성될 수 있게 하여 번거로움을 없앴다.
또한, 오름차순으로 정렬해서 사전순으로 방문할 수 있게 체크한다.
</aside>
def findItinerary(self, tickets):
graph = collections.defaultdict(list) # defaultdict로 생성해서 키값이 없어도 자동 생성하게.
route = [] # 정답 부분
# 티켓을 오름차순으로 정렬해서 사전순으로 방문하도록
# 그래프 그리기
for a, b in sorted(tickets) :
graph[a].append(b)