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
'알고리즘' 카테고리의 다른 글
[백준 1629] 곱셈 - 파이썬 풀이 (실버1) (0) | 2023.05.09 |
---|---|
[프로그래머스] 가장 긴 팰린드롬 - 파이썬 풀이 (0) | 2023.05.09 |
[프로그래머스 단속카메라] - Python 풀이 (0) | 2023.05.08 |
[프로그래머스 N진수 게임] - Python 풀이 (LV.2) (1) | 2023.05.08 |
[백준 1865] 웜홀 - Python 풀이 (골드3) (0) | 2023.05.08 |