function solution(tickets) {
var routes = []
fna([], tickets);
function fna(route, left){
if(left.length == 0){
let tmp = ['ICN']
route.map(v => {tmp.push(v[1])})
routes.push(tmp)
return
}
if(route.length > 0 &&
route[0][0] !== 'ICN')
return
if(route.length >= 2&&
route[route.length-2][1] !== route[route.length-1][0])
return
left.map((v, i) =>{
fna([...route, v], left.filter((v,idx) => i!=idx))
})
}
console.log(routes)
return routes.sort()[0];
}
재귀가 참 편한 것 같당
'코딩테스트 문제풀이' 카테고리의 다른 글
[프로그래머스, javascript] 타겟 넘버 DFS와 BFS 풀이 (0) | 2021.04.06 |
---|---|
[프로그래머스, javascript] 가장 긴 팰린드롬 (0) | 2021.03.28 |
[프로그래머스, javascript]쿼드 압축 후 개수 세기 (0) | 2021.03.19 |
[백준 16235] 나무 재테크 (0) | 2019.10.12 |
[백준 16234] 인구 이동 (0) | 2019.10.12 |