Lv.2 : 영어 끝말잇기 [JavaScript]

2024. 10. 23. 21:46Algorithm/프로그래머스

반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 풀이

function solution(n, words) {
    var answer = [0,0];
   
    for(var i=1; i<words.length; i++){
        // 1. 앞 사람이 말한 단어에 이어지지 않는 단어
        if(words[i-1].slice(-1) != words[i].slice(0, 1)) {
            answer = [i % n + 1, Math.floor(i / n) + 1];
            break;
        }
       // 2. 이전에 나왔던 단어
       if(words.slice(0, i).includes(words[i])) {
            answer = [i % n + 1, Math.floor(i / n) + 1];
            break;
       }
    }
    
    return answer;
}

끝말잇기에 실패하는 경우에는

1. 자신이 말한 단어의 시작 알파벳이 앞사람이 말한 단어의 끝 알파벳과 다른 경우

2. 이전에 나왔던 단어를 또 말한 경우

두 가지가 있다.

 

두 가지 경우를 체크해 해당되는 경우 answer를 바꾸어 리턴

 

반응형