[프로그래머스 level2] 영어 끝말잇기

김예지·2021년 10월 21일
0

문제

https://programmers.co.kr/learn/courses/30/lessons/12981


문제 풀이

코드

function solution(n, words) {
    let answer=0;
    //탈락자 탐색(첫번째경우는 탈락에서 제외)
    for(let i=1; i<words.length; i++){
        if(words.indexOf(words[i])!==i || words[i-1][words[i-1].length-1]!==words[i][0]){
            answer=i+1;
            break; //탈락자 찾았으면 break
        }
    }
    return answer? [answer%n||n, Math.ceil(answer/n)]:[0,0];
}
  • 복잡하게 생각하지 않아도 될 문제였다.
    일단 words.indexOf(words[i])!==i를 통해 중복되는 문자인지 확인하고, 두번째조건에서는 이전단어의 끝알파벳과, 현재단어의 첫알파벳이 동일한지 확인한다.
  • answer%n||n은, 앞이 0이면 뒤를 실행하는 코드이다. 만약 answer=3, n=3이면 answer%n은 0이기때문에 뒤를 실행한다.
  • 이분의 코드를 참고했지만, 직접 인덱스를 잘 생각해서 풀어보자!
profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

0개의 댓글