chyam

[프로그래머스 Lv2, python]- 영어 끝말잇기 본문

프로그래머스/LV2

[프로그래머스 Lv2, python]- 영어 끝말잇기

chyam_eun 2024. 12. 28. 12:03

def el(a,n):
    if (a+1)%n==0:
        p=n
    else:
        p=(a+1)%n
    return [p,(a//n)+1]

def solution(n, words):
    li=[words[0]]
    for a in range(1,len(words)):
        if words[a] not in li: #중복이 없으면
            if li[-1][-1]==words[a][0]: #전 단어 끝문자와 현재 단어 첫문자가 같을때
                li.append(words[a]) #추가
            else: #다르면
                return el(a,n);  #그 위치 반환
        else: #중복 있으면 그 위치 반환
            return el(a,n);
    return [0,0]

내가 제출한 풀이에서 el 함수 부분을 아래처럼 간단하게 줄일수있다.. 

def el(a,n):
    return [a%n+1,(a//n)+1]

def solution(n, words):
    li=[words[0]]
    for a in range(1,len(words)):
        if words[a] not in li:
            if li[-1][-1]==words[a][0]:
                li.append(words[a])
            else:
                return el(a,n);
        else:
            return el(a,n);
    return [0,0]