처리조건
풀이
이미 사용한 단어는 useWord2에 담아주며 새 단어를 받을 때 마다 useWord2에 속한 단어인지 확인한 뒤 자신의 단어 맨 앞과 이전사람이 뱉은 단어의 뒤가 일치 한다면useWord2에 담아준다. for문을 돌릴 것인데 i가 0이라면 아무 단어도 아무 제약도 없으니 그냥 useWord2에 담아준다. i가 1 이상이라면 위 if문으로 처리하고 만약 useWord2에 있는 단어가 또 들어가려한다거나, 자신의 앞단어가 이전 사람이 뱉은 단어 맨 뒤랑 같지 않다면 현재 순서와 자신의 번호를 리턴한다. 만약 리턴없이 for문이 끝나면 아무 문제 없는 게임이므로 [0,0]을 리턴한다.
function solution(n, words) {
const useWord2 = [];
for (let i = 0; i < words.length; i++) {
if (i === 0) {
useWord2.push(words[i]);
} else if (i >= 1) {
if (useWord2.includes(words[i]) === false && words[i][0] === words[i - 1][words[i - 1].length - 1]) {
useWord2.push(words[i]);
} else if (useWord2.includes(words[i]) === true || words[i][0] !== words[i - 1][words[i - 1].length - 1]) {
return [(i % n) + 1, Math.ceil((i + 1) / n)];
}
}
}
return [0, 0];
}
'일반 학습 > 코딩 테스트' 카테고리의 다른 글
[프로그래머스] 교점에 별 만들기 (0) | 2022.03.29 |
---|---|
[프로그래머스] 구명보트 (0) | 2022.03.28 |
우선권에 따라 선수 데려가기 (0) | 2022.03.27 |
[프로그래머스] 2개 이하로 다른 비트 (0) | 2022.03.25 |
[프로그래머스] 삼각 달팽이 (0) | 2022.03.25 |
댓글