알고리즘/프로그래머스

Summer/Winter Coding(~2018)/영어 끝말잇기

래울 2021. 1. 3. 16:40

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

 

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

3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0]

programmers.co.kr


check(prev, now) : 이전단어의 맨 마지막 글자와 현재 단어의 첫글자가 같은지 check

 

check(prevwords, now) : 현재 단어가 중복된 단어가 아닌지 check

 

def solution(n, words):
    answer = [0, 0]
    for i in range(1, len(words)):
        if check(words[i-1], words[i]) or check2(words[:i], words[i]):
            answer = [(i%n)+1, i//n+1]
            break
    return answer

def check(prev, now):
    if prev[-1] == now[0]:
        return False
    return True

def check2(prevwords, now):
    if now in prevwords:
        return True
    return False