[백준] 1316 파이썬 (그룹 단어 체커)

노을·2022년 3월 18일
0

Algorithm

목록 보기
18/21
post-thumbnail




코드

N = int(input())
cnt = N
for i in range(N):
    word = input()
    for j in range(0, len(word)-1):
        if word[j] != word[j+1]:
            if word[j+1] in word[0:j]:
                cnt -= 1
                break
                
print(cnt)



풀이


난 그룹단어의 개수와 단어의 개수를 같게 하고 그룹단어가 아니면 -1을 하여 그룹단어의 수를 구하는 방식으로 했다.

먼저 단어의 개수(N)를 받고 그만큼 단어(word)를 받는다.


for j in range(0, len(word)-1):
        if word[j] != word[j+1]:
            if word[j+1] in word[0:j]:
                cnt -= 1
                break

그리고 word의 '0'번째 부터 'len(word)-1'번째까지 검사한다.

'len(word)-1'로 하는 이유는 현재값과 다음값을 비교하기 위해서이다.
len(word)로 하면 IndexError: string index out of range 가 발생한다.

현재 값과 다음 값이 다를 경우(word[j] != word[j+1]),
다음 값이 본인보다 이전에 존재했으면 그룹단어가 아니다.
따라서 cnt -= 1를 하고
이미 그룹단어임이 확정 되었으므로 현재 for문을 나간다.

0개의 댓글