공부 자료/알고리즘
(Python/파이썬) 백준 1316번 - 그룹 단어 체커
뚜루뚜루세니
2021. 7. 30. 13:55
728x90
문제출처: https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
12
|
n = int(input())
count = n
for _ in range(n):
word = input()
for i in range(len(word)-1): #인덱스 범위 설정 0부터 단어갯수-1까지
if(word[i] != word[i+1]): #뒤에 글자랑 다를 경우
if word[i] in word[i+1 :]: #남은 문자열에서 현재 글자가 있으면
count-=1
break
print(count)
|
cs |
2. 해결과정
aabbccb 라고 하면 b가 앞에 있었는데 다음에 또 나오니까 그룹 단어가 아니라는 것이다. 따라서 앞에 글자와 뒤에 글자가 다를 경우에, 남은 문자열에 현재 글자가 있는 지 없는지 조사를 해주면 된다. 만약에 있다면 총 단어의 개수에서 그룹단어가 아니므로 제거를 해주면 된다.
3. 느낀점
break를 안해줘서 계속 틀렸다... 처음에 문제를 이해를 반대로 해서 뒤에 글자가 또 나오면 그룹 숫자다로 풀어서 또 틀렸다... 문제좀 제대로 읽어야지
728x90