Lv2. 영어 끝말잇기

Hello·2022년 8월 6일
0

코딩테스트 연습 > 영어 끝말잇기

1. 풀이 설명

  1. words 를 for 문을 돌면서
    이전에 나왔던 단어이거나, 직전 알파벳과 현재 처음 알파벳이 다르거나, 단어의 개수가 1인 경우에
    [번호, 순서]를 반환한다.

  2. 위의 3가지 경우에 포함되지 않는다면 [0,0] 을 반환한다.

2. 나의 풀이

def solution(n, words):
    list = []
    last_c = ''
    for i, word in enumerate(words):
        if (word in list) or (last_c != '' and last_c != word[0]) or len(word) == 1:
            return [i%n+1, i//n+1]
        list.append(word)
        last_c = word[-1]
    return [0,0]

3. 배운점

  1. last_c 로 직전 마지막 알파벳을 저장해서 다음번 for 문에 이용할 수 있다.

  2. 입력 parameter를 print 해보면서 로직과 반환 값에 대해 생각해본다: 번호i%n+1, 순서i//n+1

profile
안녕하세요 :)

0개의 댓글