function solution(n, words) {
let answer = [];
// 단어가 몇번씩 나왔는지 저장하는 객체
let countWordObj = {};
// 맨 앞의 값 1로 초기화
countWordObj[words[0]] = 1;
let prevWord, currentWord;
// [번호, 차례]
let [number, order] = [0, 0];
for (let i = 1; i < words.length; i += 1) {
prevWord = words[i - 1];
currentWord = words[i];
// 순회하면서 현재의 단어가 나온 횟수 + 1
countWordObj[currentWord] = countWordObj[currentWord] + 1 || 1;
// 이전의 마지막 문자와 현재의 첫번째 문자가 같지 않거나,
// 현재 단어가 두번 이상 나온 단어일경우,
if (
prevWord.at(-1) !== currentWord.at(0) ||
countWordObj[currentWord] > 1
) {
number = (i % n) + 1;
order = Math.floor(i / n) + 1;
break;
}
}
answer = [number, order];
return answer;
}
'PS > Programmers' 카테고리의 다른 글
Programmers / Level 2 / 다리를 지나는 트럭 / JS (0) | 2022.12.27 |
---|---|
Programmers / Level 2 / 소수 찾기 / JS (0) | 2022.12.27 |
Programmers / Level 2 / [3차] n진수 게임 / JS (0) | 2022.12.10 |
Programmers / Level 2 / 게임 맵 최단거리 / JS (0) | 2022.12.10 |