본문 바로가기

알고리즘 문제

백준 1316번 그룹 단어 체커

문자를 검사하다가 바뀌는 지점에서 alpha 배열에 False를 넣는다. index는 아스키 코드 값으로 계산하는데 현재 문자를 아스키 코드로 바꾸고 97을 빼면 a는 0 b는 1 이렇게 된다.


두번째 for문에서 마지막 문자 검사를 제대로 못한다. 그래서 마지막 문자는 두번째 for문을 빠져나온 후 if문에서 걸리는지 확인한다. 마지막 문자가 이전에 나오지 않았다면 count 1 증가.


n=int(input())
count=0
for i in range(n):
s=input()
length=len(s)
alpha=[True]*26
for j in range(length):
if alpha[ord(s[j])-97]!=False:
if j<length-1:
if s[j]!=s[j+1]:#이전 문자와 다르면 False
alpha[ord(s[j])-97]=False
else:
break
if alpha[ord(s[j])-97]==True:
count+=1
print(count)


https://www.acmicpc.net/problem/1316