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 |
댓글