[프로그래머스] 영어 끝말잇기 (JS)

hhkim·2023년 8월 3일
0

Algorithm - JavaScript

목록 보기
88/188
post-thumbnail

풀이 과정

  1. 주어진 단어의 요소에 대해 반복
  2. 각 단어를 객체에 키, 등장 횟수를 값으로 해서 저장
  3. 이전 단어의 끝 문자와 현재 단어의 첫 문자가 다른 경우,
    이전에 등장했던 단어가 또 나온 경우 반복문 끝
  4. 반복 횟수를 사람 수로 나눈 나머지, 몫(올림)을 리턴

코드

function solution(n, words) {
  const obj = {};
  words.forEach((word) => (obj[word] = 0));
  obj[words[0]]++;

  for (let i = 1; i < words.length; ++i) {
    if (words[i - 1].at(-1) !== words[i].at(0) || obj[words[i]] > 0) {
      return [(i % n) + 1, Math.ceil((i + 1) / n)];
    }
    obj[words[i]]++;
  }
  return [0, 0];
}

0개의 댓글