https://www.acmicpc.net/problem/1316
문제 풀이
- 처음에는 그 전 문자와 현재 문자가 같을 때의 조건도 넣었었는데, 짤 필요 없다는 것을 깨달았습니다
- 만약 p가 2번 연속된 문자인 경우 before도 똑같이 p가 될것이고, lst에도 넣을 필요 없기 때문입니다
- 문자를 입력받아 문자 길이만큼 for문을 돌리고, 그 전 문자와 현재 문자가 다른지 파악한 다음 만약 lst안에 현재 문자가 존재하는 경우에는 그룹 문자가 아니라고 파악하여 flag를 False로 바꾼 뒤 for문을 빠져나오게 했습니다
- lst에 존재하지 않은 경우에 현재 문자를 lst안에 append하고 before를 새로 현재 문자로 설정하도록 하였습니다
- flag가 True인 경우만 그룹단어이므로 flag가 True인 것만 count하도록 하였습니다
n = int(input())
count = 0
for _ in range(n):
word = input()
lst = [word[0]] # word check할 list
before = word[0] # 그 전 문자
flag = True # 그룹단어인지 아닌지 체크
for i in range(1, len(word)):
if before != word[i]:
if word[i] in lst:
flag = False
break
lst.append(word[i])
before = word[i]
if flag:
count += 1
print(count)