본문 바로가기

Coding Test/Programmers

[프로그래머스/파이썬] 영어 끝말잇기

728x90

 

 

나의 풀이

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

    for idx, w in enumerate(words):
        if w in history or (idx and words[idx - 1][-1] != w[0]):
            answer = [idx % n + 1, idx // n + 1]
            break
        else:
            history.add(w)

    return answer

 

 

1 부터 시작한 풀이

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] :
            return [(i%n)+1, (i//n)+1]
    else:
        return [0,0]

 - 첫 단어는 체크할 일이 없으니 1부터 체크하면 불필요한 조건문 생략 가능

 

 

 

 

반응형