알고리즘/백준 문제풀이
[백준] 1316 그룹 단어 체커 파이썬 풀이 (문자열)
자바칩 프라푸치노
2021. 6. 19. 14:18
코드
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