2Ju0
Ju0.log
2Ju0
전체 방문자
오늘
어제
  • 🐱‍🚀 모두보기 (32)
    • CS (18)
      • LLVM (11)
      • 운영체제 (1)
      • 보안 (3)
      • 프로그래밍언어 (0)
      • 데이터과학 (3)
    • PL (1)
      • Python (1)
      • JavaScript (0)
    • Algorithm (12)
      • Python (0)
      • Javascript (12)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
2Ju0

Ju0.log

[Programmers] 영어 끝말잇기 - JavaScript
Algorithm/Javascript

[Programmers] 영어 끝말잇기 - JavaScript

2023. 4. 26. 23:06

문제

 

프로그래머스

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

programmers.co.kr

내 풀이

function solution(n, words) {
    let stack = [];
    
    for(let i = 0; i < words.length; i++){
        let numOfPlay = Math.ceil((i + 1) / n);
        let numOfPerson = ((i + 1) % n === 0 ? n : (i + 1) % n);
        
        if(stack.includes(words[i])){
            return [numOfPerson, numOfPlay];
        }
        if(stack.length && (stack[stack.length - 1].slice(-1) !== words[i].slice(0, 1))){
            return [numOfPerson, numOfPlay];
        }
        stack.push(words[i]);
    }
    return [0, 0];
}

stack을 사용하여 지금 들어온 단어가 이미 언급된 것인지, 이전 단어의 마지막 글자와 같은지를 확인하는 방식으로 구현했다.

 

    'Algorithm/Javascript' 카테고리의 다른 글
    • [Programmers] H-Index - JavaScript
    • [Programmers] 피보나치 수 - JavaScript
    • [Programmers] 짝지어 제거하기 - JavaScript
    • [Programmers] 카펫 - JavaScript
    2Ju0
    2Ju0

    티스토리툴바