알고리즘
[백준 1316] 그룹 단어 체커 - 파이썬
Codult
2024. 1. 20. 11:58
728x90
백준 1316

풀이과정
1) 입력받은 문자열을 쪼개어 리스트(word)로 저장한다.
2) for문을 활용하여 인덱스 j를 돌면서, word[0, j] 내에 word[j]가 있는지 확인한다.
* word[0, j] 내에 word[j] 가 있다는 것은 자신과 동일한 문자가 다른 인덱스에도 있다는 것을 의미
3) 동일한 문자 간의 인덱스 차이가 1을 초과한다면, 그룹단어가 아니다.
* 동일한 문자가 있는데, word[j]와 word[j-1]이 다른 문자라는 것과 같은 의미
N = int(input())
for i in range(N):
word = list(input()) #문자를 쪼개서 word 리스트에 저장
is_group = True #문자를 탐색할 때마다 그룹단어 여부는 초기화
for j in range(1, len(word)):
if word[j] in word[0:j] and word[j] != word[j-1]:
#word[0:j]에서 word[j] 동일문자가 있되, 붙어 있지 않다면 그룹단어가 아님
is_group = False
#그룹단어가 아니므로, N -= 1
if not is_group: N -= 1
print(N)728x90