백준 1316 그룹 단어 체커 python

hyewon9913·2023년 11월 8일

코딩테스트(python)

목록 보기
6/46
n = int(input())

words = []
for i in range(n):
    string = input()
    words.append(string)



ans = n

for word in words:
    tmp = []
    isGroup =True
    for j in range(len(word)):
        if j >0:
            if( word[j] in tmp ) and (word[j]!=word[j-1]):
                isGroup = False  #해당 단어의 그룹단어 여부 체크
            tmp.append(word[j])
        else:
            tmp.append(word[j])
    if isGroup == False : #그룹단어가 아니라면 전체 단어수에서 -1
        ans -= 1



print(ans)

이 문제에서 그룹 단어가 아닌 경우는
각 단어를 한 문자씩 확인해볼 때 이전에 등장 했으면서 왼쪽의 문자와 동일한 문자가 아닌 경우일 때 라고 생각했다.

그래서 이런식으로 구현해주었다. 처음에 ans=1 하는 부분을 "#해당 단어의 그룹단어 여부 체크 " 이부분에 넣어 주었더니 ans가 마이너스 값이 되는 오류가 발생했다.

해당 오류는 한 단어에 그룹단어가 아닌 특성을 지닌 문자가 여러개일 때 나타나는 오류이다.

그래서 ans-=1하는 부분을 해당 단어에 대해 for문으로 다 돌고 난 후 그 단어가 그룹단어가 아니라는 판단이 섰을 때 할 수 있도록 수정하였고 그 결과 정답이였다.

profile
차근차근 굴러가는 코딩일지

0개의 댓글