rueki

프로그래머스 LV2. 영어 끝말잇기 본문

프로그래머스 연습

프로그래머스 LV2. 영어 끝말잇기

륵기 2022. 10. 9. 00:26
728x90
반응형

이번 문제는 순수 구현에 관련된 문제인 것 같은 느낌이다.

 

 

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

    word_arr = [[] for _ in range(n)]
    
    for idx, w in enumerate(words):
        idx_o = idx % n
        # 첫 단어는 그냥 넣기
        if idx == 0:
            word_arr[idx_o].append(w)
        else:
            word_arr[idx_o].append(w)
            
            #순서가 0-1-2-0 ~ 이런식으로 반복
            # 다시 첫 순서면 이전 순서는 마지막 숫자로 기입
            if idx_o == 0:
                prev = n-1
            else:
                prev = idx_o - 1
            
            #끝말잇기가 안되는 경우
            if word_arr[prev][-1][-1] != word_arr[idx_o][-1][0]:
                answer = [idx_o + 1, len(word_arr[idx_o])]
                return answer
                
            # 중복단어 나오는 경우 위함
            else:
                for i in range(n):
                	#내 순서에 뱉은 말 중에는 찾을 필요 X
                    if i == idx_o:
                        continue
                    else:
                        if word_arr[idx_o][-1] in word_arr[i]:
                            answer = [idx_o + 1, len(word_arr[idx_o])]
                            return answer
                
            
    
        
    return answer
728x90
반응형
Comments