from collections import deque
def solution(tickets):
answer = []
answer.append("ICN")
>>> 처음 시작은 무조건 ICN
tickets = sorted(tickets, key=lambda x:x[1])
>>> 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 리턴하기위해
q = deque()
for i in tickets:
if i[0] == "ICN": >>> 출발지가 ICN인 첫 여행지 고르기
q.append(i) >>> q에 넣고
break
while q: >>> 큐에 요소가 있는 동안
start, end = q.pop() >>> 큐에서 뽑기
for i in tickets: >>> 티켓들을 순회하면서
if i[0] == end: >>> 시작이 지금있는(도착지)인지 확인
if i not in q: >>> 큐에 없으면
q.append(i) >>> 추가하고
answer.append(i[0]) >>> 방문했다고 넣어주기
return answer
직전 문제는 비슷하게 풀어서 성공했어서 비슷하게 도전해봤지만 무한루프의 굴레에 빠진 내 bfs 코드~~~
방문처리를 하지 않았고.. 이 방법으로는 전체 티켓을 모두 소모할 수 있는 방법이 없는 것 같다.. 끼워맞출수 있을 법도 한데 그건 올바른 길이 아닌 것 같으므로 ㅍ-ㅍ
dfs로 다시 풀어볼 예정.