알고리즘
[프로그래머스] 영어 끝말잇기 python
wjdwwidz
2024. 10. 13. 23:44
검사해주어야 할 부분 :
1. 이미 사용한 단어이거나
2. 첫 글자가 이전 단어와 일치하지 않음
처음에는 첫 글자인 부분도 검사해야 한다고 생각해서 길어졌으나 고려하지 않아도 되었다
def solution(n, words):
used_words = set()
prev_word = words[0][0] #이전 단어의 마지막 글자
for i, word in enumerate(words) :
if word in used_words or word[0] != prev_word :
return [(i%n) +1 , (i//n) +1]
used_words.add(word)
prev_word = word[-1]
return [0,0]
words 의 길이만큼 반복문을 순회하고 각 연산의 최종 시간복잡도는 O(1) 이므로 최종 시간복잡도는 O(n)이 된다.