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

HL·2021년 3월 15일
0

프로그래머스

목록 보기
30/44

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12981

문제 설명

  • 끝말잇기를 한다
  • 사람 수와 끝말잇기에 등장하는 단어 리스트가 주어짐
  • 가장 먼저 탈락하는 사람의 번호와, 그 사람이 자신의 몇 번째 차례에 탈락하는지 리턴
  • 없을 경우 0, 0 리턴

풀이

  • 등장하는 단어들을 set에 기록
  • 현재 단어가 이미 등장했거나 이전 단어의 끝 철자와 다르면 return
    • 몇 번째 사람인지 : 나머지 + 1
    • 자신의 몇 번째 차례인지 : 몫 + 1

코드

def solution(n, words):
    answer = [0, 0]
    history = set([words[0]])
    for i in range(1, len(words)):
        if words[i] in history or words[i-1][-1] != words[i][0]:
            return [i%n+1, i//n+1]
        history.add(words[i])
    return answer
profile
Swift, iOS 앱 개발을 공부하고 있습니다

0개의 댓글