230328 TIL - 프로그래머스 12981

thumbzzero·2023년 3월 28일
0

TIL

목록 보기
20/21

12981

사람의 수 n과 사람들이 순서대로 말한 단어 words 가 매개변수로 주어질 때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는지를 구해서 return 하도록 solution 함수를 완성해주세요.
(이전에 사용했던 단어 사용 불가)

JavaScript

function solution(n, words) {
    let out = 0;
    let turn = 1;
    let previous_words = [words[0]]
    
    for (let i = 1; i < words.length; i++) {
        if (i % n == 0)
            turn += 1;
        if (words[i-1].at(-1) != words[i][0] || previous_words.includes(words[i])) {
            out = i % n + 1;
            break;
        }
        previous_words.push(words[i]);
    }
    if (out == 0) return [0, 0]

    return [out, turn];
}

Python

def solution(n, words):
    out = 0
    turn = 1
    previous_words = [words[0]]
    
    for i in range(1, len(words)):
        if (i % n == 0):
            turn += 1
        if (words[i-1][-1] != words[i][0] or words[i] in previous_words):
            out = i % n + 1
            break
        previous_words.append(words[i])
    
    if (out == 0): return [0, 0]
    
    return [out, turn]

0개의 댓글