반응형
function solution(n, words) {
let keyword = words[0];
let count = 1;
for (let i = 1; i < words.length; i++) {
const player = i % n + 1;
//for문을 돌면서 player수를 계산해준다.
if (keyword.slice(-1) !== words[i][0]) {
//처음 단어의 끝과 그 다음 단어의 첫 번째가 맞는지 확인하는 로직
return [player, count];
}
if (words.findIndex(word => words[i] === word) !== i) {
//findIndex로 중복된 단어가 있는지 찾아준다.
return [player, count];
}
keyword = words[i];
//위에 로직이 다 해당하지 않으면 해당 문자열을 keyword로 바꾼다.
if (player === n) count++;
//player는 순차적으로 돌고 n일 때 몇 번째로 도는지 확인하기위해 count를 더해준다.
}
return [0, 0];
}
반응형
'알고리즘문제' 카테고리의 다른 글
프로그래머스 > 행렬의 곱셈 (0) | 2022.10.30 |
---|---|
프로그래머스 > N개의 최소공배수 (1) | 2022.10.27 |
프로그래머스 > 짝 제거하기 (0) | 2022.10.24 |
프로그래머스 > 숫자짝궁 (0) | 2022.10.18 |
프로그래머스 > 삼총사 (0) | 2022.10.17 |