최대 1 분 소요

영어 끝말잇기

문제 정리

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

  1. 이전에 말했던 단어를 말했을 경우
  2. 이전 단어의 마지막 알파벳으로 시작하는 단어가 아닌 경우

입력

n=3 // 사람 수
words=["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"]

처리 과정

출력

[3,3]

풀이

def solution(n, words):
    for i in range(1,len(words)):
        if words[i][0]!=words[i-1][-1] or words[i] in words[:i]: # -1 인덱스는 제일 마지막 인덱스
            return [(i%n)+1,(i//n)+1] # return [번호,차례]
    else:
        return [0,0]

정리

  • -1 인덱스는 제일 마지막 인덱스
  • in words[:i]를 통해 words 리스트의 첫번째부터 i번째 단어까지 접근할 수 있다.


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기