영어 끝말잇기는 주어진 인원 수만큼 끝말잇기를 수행했을 때 탈락자를 찾아 [탈락자의 차례, 탈락자의 턴 횟수]를 반환해야 한다.
탈락의 조건은 다음과 같다.
문제 해결을 위해 조건을 하나씩 적용했다.
function solution(n, words) {
const check = new Set();
let turn = 0,
next = words[0][0];
for (let i = 0; i < words.length; i++) {
const word = words[i];
if (check.has(word) || next !== word[0]) return [(turn % n) + 1, (~~(turn / n)) + 1];
turn++;
next = word[word.length - 1];
check.add(word);
}
return [0,0]
}
(1) 순서가 정해지지 않고 (2) 중복되지 않는 요소를 확인할 땐 Set 자료구조를 적극 활용해야겠다.