풀이
/**
* 영어끝말잇기.js
* https://programmers.co.kr/learn/courses/30/lessons/12981?language=javascript
*/
function solution(n , words) {
const length = words.length + words.length % n;
let order = null;
for (let i = 1; i < length; i++) {
const idx = i % words.length;
const beforeWord = words[idx - 1];
const currWord = words[idx];
if (beforeWord[beforeWord.length - 1] !== currWord[0] || words.indexOf(words[idx]) !== i) {
order = idx + 1;
break;
}
}
return order ? [order % n ? order % n : n, Math.ceil(order / n)] : [0, 0];
}
다음 내용을 고려해서 풀이했다.
1. 끝말잇기 규칙 확인. 앞 단어의 끝 글자와 뒷 단어의 첫 글자 비교
2. 이미 존재하는 단어가 또 나왔는지 indexOf를 활용해서 확인
3. 순서를 확인한 다음 해당 순서를 나머지 값을 구해서 몇 번째 사람인지 구하고, 나눈 이후 반올림을 통해 몇 번째 차례인지 확인한다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][자바스크립트][Level2] 숫자의 표현 (0) | 2022.03.03 |
---|---|
[프로그래머스][자바스크립트][Level1] 콜라츠 추측 (0) | 2022.02.28 |
[프로그래머스][자바스크립트][Level1] 이상한 문자 만들기 (0) | 2022.02.25 |
[프로그래머스][자바스크립트][Level2] 피보나치 수 (0) | 2022.02.25 |
[프로그래머스][자바스크립트][Level2][카카오] 캐시 (0) | 2022.02.22 |
댓글