문제
해결 과정
- 중복일 경우와 중복이 아닐 경우로 나누어서 생각
- 또 중복일 경우에도 가능한 경우와 불가능한 경우로 나누어서 생각
- 가능한 경우: 같은 숫자가 연속적으로 들어온 경우
- 불가능한 경우: 같은 숫자가 연속적으로 나오지 않은 경우 (띄엄띄엄)
시행 착오
- 문제 이해를 못하겠.. 그룹 단어가 뭐지..?
- 알파벳 1개 가능
- 알파벳 1개 이상 중복일 경우는 연속으로만 가능
- 중복이 아닐 경우 경우는 set함수 사용
- 중복일 경우는 빈 리스트를 선언하여 알파벳 하나씩 넣어가는데,
- 리스트에 중복된 게 없을 경우 삽입
- 리스트에 중복된 게 있을 경우 리스트의 마지막 값과 삽입할 값이 같다면 삽입 (같은 숫자는 연속적으로만 가능하니까)
풀이
import sys
n = int(sys.stdin.readline())
cnt = 0
for _ in range(n):
word = list(sys.stdin.readline().strip())
tmp = []
for i in range(len(word)):
if len(word) == len(set(word)):
cnt += 1
break
elif word[i] not in tmp or tmp[-1] == word[i]:
tmp.append(word[i])
if len(word) == len(tmp):
cnt += 1
print(cnt)