https://programmers.co.kr/learn/courses/30/lessons/12981
function solution(n, words) {
var answer = [];
var number = 0;
var order = 0;
for(var i=1; i<words.length; i++){
// 끝말을 잇지 않은 경우 || 중복된 단어가 있는 경우
var subArr = words.slice(0,i);
if((words[i-1].substring(words[i-1].length-1) !== words[i][0])|| (subArr.some(word=> word === words[i]))){
if((i+1)%n ===0){
number = n;
}else{
number = (i+1)%n ;
}
order = Math.ceil((i+1)/n);
break;
}
}
if(number===0 && order===0){
answer = [0,0];
}else{
answer = [number,order ];
}
return answer;
}
오래걸릴 문제가 아닌데 오래 걸림.
1. 처음에 n을 고려하지 않음 -> 문제 꼼꼼히 읽을 것
2. 처음 실패 -> 두 조건의 순서를 내가 임의로 정함(if문의 순서가 조건 실행의 순서가 되기 때문 -> || 조건 이용
3. number, order를 구하는 방법은 두 조건에 대해 동일
4. 나머지가 0인 경우 예외 처리
다른 사람의 풀이 -> 중복단어 체크시 arr.some()대신 arr.indexOf()이용