알고리즘

[백준 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