문제


function solution(tickets) {
let answer = [];
const stack = [];
const visited = [];
// 출발지건 목적지건 우선 알파벳순으로 정렬
tickets.sort();
const dfs = (출발지, count) => {
// 스택에 한 개씩 넣어줌
stack.push(출발지);
// 비행기가 뜬 횟수와 티켓의 길이가 같은데
// stack이 빈 배열이라면
if (count === tickets.length) {
answer = stack;
return true;
}
for(let i = 0; i < tickets.length; i++) {
if(!visited[i] && tickets[i][0] === 출발지) {
visited[i] = true;
if(dfs(tickets[i][1], count+1)) return true;
visited[i] = false;
}
}
stack.pop();
return false;
}
dfs("ICN", 0);
return answer;
}