코드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
num = int(input())
count = 0
for i in range(num):
word = input()
for index in range(len(word)): #index로 접근
if index != len(word)-1:
if word[index] == word[index+1]:
continue
elif word[index] in word[index+1:]:
break
else:
count+=1
print(count)
|
cs |
문제풀이
예를 들어 aabbccb를 보면
b가 앞에 있었는데 띄워져서 또 나왔으니까 그룹 단어가 아니라는 것이다.
그러면 처음부터 보자면
맨 앞에 글자 (a)와 바로 뒤의 글자 (a)가 같으면 아무 문제 없다.
그리고 (a)와 그 다음 글자 (b)가 나오는데 그때!
앞글자랑 뒷글자가 달라지는 바로 그때!
뒷글자부터 맨 끝에 글자까지 중에서 앞글자가 나오면 그룹단어가 아니라는 것이다.
aabbccb로 보자면
b가 처음 나오는 그 순간!
앞의 a가 bbccb에 있으면 그룹 단어가 아니다.
그런데 없다.
그러면 b부터 다시 보는것이다
b뒤에 b가 나오니까 패스
다음b뒤에 c가 나오니까 그때!!!
ccb에서 b가 나오면 안된다는 것이다.
b가 나와버렸다.
그룹단어가 아니다.
728x90
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 1011 Fly me to the Alpha Centauri 파이썬 풀이 (기본 수학 1) (1) | 2021.06.19 |
---|---|
[백준] 2839 설탕배달 파이썬 풀이 (기본 수학 1) (0) | 2021.06.19 |
[백준] 2941 크로아티아 알파벳 파이썬 풀이 (0) | 2021.06.16 |
[백준] 1157 단어공부 파이썬 풀이 (0) | 2021.06.16 |
[백준] 4673 셀프 넘버 파이썬 풀이 (0) | 2021.06.15 |