プログラマ#10
DFS/BFS-トラベルパス
function solution(tickets) {
const list = {};
const path = ["ICN"];
tickets.sort();
for (let [from, to] of tickets){
if(!list[from]) list[from] = [to];
else list[from].push(to);
}
// for (let from in list){
// if(list[from].length !== 1) list[from].sort();
// }
const queue = [];
const enqueue = (el) => queue.push(el);
const dequeue = () => queue.shift();
enqueue(list["ICN"].shift());
while(queue.length > 0){
const from = dequeue();
path.push(from);
if(!list[from] || list[from].length === 0) break;
enqueue(list[from].shift());
}
return path;
}
未通過症例の入力値が分からないため,正確さがどのように間違っているかは不明である.
おそらく順番が間違っている
より多くのテストケースが必要だと思います.
あるいはDFSで解読します.
Reference
この問題について(プログラマ#10), 我々は、より多くの情報をここで見つけました https://velog.io/@ntk100/프로그래머스-10テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol