본문 바로가기
코딩테스트/LV. 2

LV.2 :: 영어 끝말잇기

by KUROMI98 2024. 10. 21.

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

 

프로그래머스

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

programmers.co.kr

 

function solution(n, words) {
    let answer = [];
    let seenWords = []; // 단어 기록을 위한 배열

    for (let i = 0; i < words.length; i++) {
        // 중복된 단어 체크
        if (seenWords.indexOf(words[i]) !== -1) { // 배열에서 단어가 이미 있는지 확인
            answer.push((i % n) + 1); // 1-indexed 사람 번호
            answer.push(Math.floor(i / n) + 1); // 1-indexed 차례
            return answer; // 중복 단어가 발견되면 즉시 반환
        }
        seenWords.push(words[i]); // 단어를 배열에 추가

        // 끝 말을 이어서 말하지 못한 경우 체크
        if (i > 0 && words[i - 1].slice(-1) !== words[i].slice(0, 1)) {
            answer.push((i % n) + 1); // 1-indexed 사람 번호
            answer.push(Math.floor(i / n) + 1); // 1-indexed 차례
            return answer; // 말을 잇지 못했을 때 즉시 반환
        }
    }

    return [0, 0]; // 모든 조건을 통과했을 때 [0, 0] 반환
}

 

 

'코딩테스트 > LV. 2' 카테고리의 다른 글

LV.2 :: 예상 대진표  (0) 2024.10.21
LV.2 :: 멀리 뛰기  (0) 2024.10.21
LV.2 :: N개의 최소공배수  (0) 2024.10.21
LV.2 :: 구명보트  (1) 2024.10.21
LV.2 :: 점프와 순간 이동  (0) 2024.10.21

댓글