プログラマー英語ドラゴンボール(level 2)
6130 ワード
私の解答(解答時間:19分)
function solution(n, words) {
if (words[0].length === 1) return [1,1];
let map = new Map();
map.set(words[0],1);
for (let i = 1; i < words.length; i++) {
if ((words[i-1][words[i-1].length-1] !== words[i][0]) || words[i].length === 1 || map.has(words[i])) {
let p1 = (i+1) % n === 0 ? n : (i+1)%n;
let p2 = Math.floor((i)/n)+1;
return [p1, p2];
} else {
map.set(words[i], 1);
}
}
return [0,0];
}
マッピングを作成し、単語を更新するたびに保存します.巡回wordsは,条件を満たさなければ直ちに返す.そうでなければ地図に追加します.そしてfor文が終わると,自動的に正しい語が続くと判断し,[0,0]を返す.Reference
この問題について(プログラマー英語ドラゴンボール(level 2)), 我々は、より多くの情報をここで見つけました https://velog.io/@htogether7/프로그래머스-영어-끝말잇기-level-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol