본문 바로가기
Algorithm

[Programmers] 12981.py 영어 끝말잇기

by roses16 2023. 5. 31.

def solution(n, words):
    checked_words = [words[0]]
    words = words[1:]

    for word in words:
        if word[0] != checked_words[-1][-1]:
          break

        if checked_words.count(word) >= 1:
           break

        checked_words.append(word)

    if len(words) + 1 == len(checked_words):
       return [0, 0]
    else:
       return [len(checked_words) % n + 1, len(checked_words) // n + 1]

 

문제 그대로 작성하여 해결.

이후 다른 분들 풀이 중 checked_list 없이 풀이한 글이 있어서 참조하여 아래와 같이 수정

checked_list 대신 words[:index] 를 사용했고, 두 개의 반복문 종료조건을 or로 묶어 한 줄로 작성하였다.

 

def solution(n, words):

    for index in range(1, len(words)):
       if words[index-1][-1] != words[index][0] or words[index] in words[:index]:
          return [index % n + 1 , index // n + 1]

    return [0, 0]