공부 자료/알고리즘

(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
= 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