min

프로그래머스 영어 끝말잇기 자바스크립트 본문

알고리즘

프로그래머스 영어 끝말잇기 자바스크립트

minprogramming 2023. 8. 29. 16:47

<문제>

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

 

프로그래머스

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

programmers.co.kr

 

 

<나의 풀이>

function solution(n, words) {
    var answer = [];
    let data = [words[0]];
    
    for(let i = 1; i < words.length; i++) {
        
        if(words[i].at(0) !== data[data.length - 1].at(-1)) {
            return [i % n + 1 , Math.floor(i / n) + 1]
        }
        
        else if (data.includes(words[i])) {
            return [i % n + 1 , Math.floor(i / n) + 1]
        }
        
        data.push(words[i])
        
    }

    return [0,0];
}

 

<다른 사람의 풀이>

 

function solution(n, words) {
    let answer = 0;
    words.reduce((prev, now, idx) => {
        answer = answer || ((words.slice(0, idx).indexOf(now) !== -1 || prev !== now[0]) ? idx : answer);
        return now[now.length-1];
    }, "")

    return answer ? [answer%n+1, Math.floor(answer/n)+1] : [0,0];
}