IT/알고리즘 / / 2023. 5. 22.

[파이썬 알고리즘 문제] 영어 끝말잇기

728x90
728x90

1. 문제 정보


 

2. 접근 방법


  • 마지막 사람 다음 차례는 첫 번째 사람이다 → % 연산으로 주어진 n명 인원 순번을 돌리면 되겠다
  • 앞 사람이 말한 단어를 또 말하면 탈락 → 앞 사람이 말한 단어는 set() 또는 list()에 저장해서 탐색하자
  • n명이 한 번씩 말해야 전체 한 번씩 말한 것  몇 번째 차례에 틀렸는지는 // 연산을 사용하면 쉽게 구하겠다 

 

3. 코드


def solution(n, words):
    prev_word = ""
    used_words = set()
    for idx, word in enumerate(words):
        turn_people = idx % n  + 1
        turn_num = idx // n + 1
        if not prev_word == "" and (not prev_word[-1] == word[0] or word in used_words):
            return [turn_people, turn_num]
        else:
            prev_word = word
            used_words.add(word)            
    return [0,0]
320x100
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유