도비LOG(跳飛錄)

도비의 AI 엔지니어 도전기

알고리즘

[백준 1316] 그룹 단어 체커 - 파이썬 풀이 (실버5)

나쁜도비 2023. 5. 9. 11:17

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net


문제 요약

'그룹 단어': 단어에 존재하는 각 문자가 연속해서 나타나는 단어.

n개의 단어를 입력 받아 그룹 단어의 개수를 출력해야 함.


풀이

 

1. 단어가 없어질 때까지 while문을 돈다.

2. 단어의 맨 끝 부분이 뒤에서 두 번째 부분과 일치하지 않으면서, 단어에 안직 남아있다면, 동떨어진 알파벳이 있다는 뜻이다. 따라서 그룹 단어가 될 수 없다.

3. 이러한 경우에 flag를 False로 해주어서 그룹 단어로 카운트하지 않도록 한다.

# 백준 1316 그룹 단어 체커 실버5 https://www.acmicpc.net/problem/1316
n = int(input())
cnt = 0
for _ in range(n):
    word = list(input())
    flag = True
    while word:
        last = word.pop()
        if word and last != word[-1] and last in word:
            flag = False
            break

    if flag:
        cnt += 1

print(cnt)

 

728x90