# 처음에 bfs로 풀려고 했으나 백트래킹이 안되므로
defsolution(tickets):result=[]obj={}forticketintickets:obj.setdefault(ticket[0],[]).append(ticket[1])forvinobj.values():v.sort()queue=dq(["ICN"])last=""whilequeue:current=queue.popleft()result.append(current)ifnotobj.get(current):breakfornextinobj[current]:ifnextinobj:queue.append(next)obj[current].remove(next)breakelse:last=nextiflen(result)!=len(tickets)+1:result.append(last)returnresult# 이렇게 풀어야함
defsolution(tickets):result=[]obj={}fora,bintickets:obj.setdefault(a,[]).append(b)forvinobj.values():v.sort(reverse=True)stack=["ICN"]whilestack:current=stack[-1]ifobj.get(current):stack.append(obj[current].pop())else:result.append(stack.pop())returnresult[::-1]