영어 끝말잇기에서 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락(같은 단어를 말하거나 끝말잇기에 실패하는 경우)하는지를 반환하는 함수 작성
def solution(n, words):
user, rnd = 0, 0
marked = [words[0]]
for i in range(1, len(words)):
if words[i] not in marked and words[i][0] == words[i-1][-1]:
marked.append(words[i])
else:
user = i % n + 1
rnd = i // n + 1
break
return [user, rnd]
user
와 차례 rnd
를 각각 0
으로, 사용한 단어를 저장할 배열 marked
의 초기값을 첫 단어인 words[0]
으로 설정for
Loop으로 인덱스 1
부터 주어진 배열 words
의 길이-1 만큼 순회하며 해당 단어가 marked
에 존재하는지, 그리고 단어의 첫 문자가 이전 단어의 마지막 문자와 일치하는지를 확인True
일 경우 marked
에 해당 단어 추가False
일 경우는 끝말잇기에 실패한 것이므로 아래 과정을 수행n
으로 나눈 나머지이며, 인덱스를 번호화 해야하므로 +1n
으로 나눈 몫이며, 인덱스를 번호화 해야하므로 +1break