2023.09.23 풀이
def solution(n, words):
answer = []
arr=[]
k=0
for i in words:
k+=1
if len(arr)==0:
arr.append(i)
elif i in arr:
break
elif arr[-1][-1]==i[0]:
arr.append(i)
else:
break
if len(words)==len(arr):
answer=[0,0]
else:
answer=[(k-1)%n+1, (k-1)//n+1]
return answer
다른 풀이
- 예외 처리를 한 번에.
def solution(n, words):
answer = [0,0]
cnt = 0
checks = []
checks.append(words[0])
for i in range(1, len(words)):
cnt += 1
if words[i] not in checks and list(words[i-1])[-1] == list(words[i])[0]:
checks.append(words[i])
else:
answer[0] = cnt%n +1
answer[1] = cnt//n +1
break
return answer
- 한 단계 더 나아간
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]
check point
- 조건문에서 같은 동작을 하는 로직은 하나로 묶기