def solution(n, words):
l = [] # 지나간 단어
for i, v in enumerate(words):
if len(l) == 0: # l이 비어 있다면 words의 원소 추가
l.append(v)
# 앞 단어의 마지막 문자와 현재 단어의 첫 번째 문자가 다르거나
# 현재 단어가 이미 l에 있는 경우
elif l[-1][-1] != v[0] or v in l:
return [n if (i+1)%n == 0 else (i+1)%n, (i+1)//n if (i+1)%n == 0 else (i+1)//n+1]
else:
l.append(v)
# 주어진 단어들로 탈락자가 생기지 않는다면
return [0, 0]
def solution(n, words):
for p in range(1, len(words)):
# 현재 단어의 첫 번째 문자와 이전 단어의 마지막 문자가 다르거나
# 현재 단어가 이미 나온 경우
if words[p][0] != words[p-1][-1] or words[p] in words[:p]:
return [(p%n)+1, (p//n)+1]
else:
return [0,0]
so 간단 ..
그래도 성능 측면에서 차이는 없어 보인다.