n = int(input())
group_word = 0
for _ in range(n):
word = input()
error = 0
for index in range(len(word)-1): # 인덱스 범위 생성 : 0부터 단어개수 -1까지
if word[index] != word[index+1]: # 연달은 두 문자가 다른 때,
new_word = word[index+1:] # 현재글자 이후 문자열을 새로운 단어로 생성
if new_word.count(word[index]) > 0: # 남은 문자열에서 현재글자가 있있다면
error += 1 # error에 1씩 증가.
if error == 0:
group_word += 1 # error가 0이면 그룹단어
print(group_word)
검색해보니 이것보다 짧은 코드들이 많았는데, 내 기준에서 이해하기 가장 무난한 코드를 가져와봤다.
n에는 맨 처음 인풋을 받는 단어들의 개수를(첫 for문을 n번만큼 실행) , word에는 인풋된 단어를 넣는다.
연속된 두 문자가 다르다면 new_word에 현재 문자 이후의 문자들로 구성된 새로운 단어를 넣는다.
count함수를 사용하여, 만약 new_word에 현재 문자가 존재하는 것이 확인된다면 error값을 하나 올려주고 이때 error가 발생했다는 것은 떨어져 있는 문자가 있으므로 그룹단어가 아닌것이다.
error가 발생하지 않았다면 그룹단어이므로 group_word의 수를 출력하면 정답이 나온다.