function solution(n, words) {
const checkArr =[]
for(let i = 1; i < words.length; i++){
checkArr.push(words[i-1]);
if(words[i].charAt(0) !== words[i-1].charAt(words[i-1].length - 1)){
return([i % n + 1, (parseInt(i / n)) + 1])
for(let j = 0; j < checkArr.length; j++){
if(checkArr[j] === words[i]){
return([i % n + 1, (parseInt(i / n)) + 1])
}
}
}
return [0, 0]
}
주어진 배열을 1번째 인덱스부터 for문을 돌립니다.
돌리면서 checkArr
에 words
에 0번째(i-1) 값부터 추가합니다.
if문과 charAt을 활용하여 i번째의 첫 번째 글자와 i-1번째의 마지막 글자가 다른지 확인합니다.
다르다면 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에서 탈락하는지를 알아야 한다.
그러기 위해 가장 먼저 탈락하는 사람의 번호는 i를 n으로 나눈 몫에 1을 더하고
자신의 몇 번째 차례에서 탈락하는지는 i를 n으로 나눈 나머지에 1을 더하는 방식으로 구할 수 있다.
for문안에 앞에서 푸쉬한 checkArr
를 다시 for문을 돌립니다.
if문을 활용하여 같은 단어를 말한 사람이 있는지 찾고 4번과 같은 방식으로 번호와 차례를 구합니다.
앞에 모든 상황을 다 통과한다면 [0, 0]을 리턴합니다.