문자를 검사하다가 바뀌는 지점에서 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)
'알고리즘 문제' 카테고리의 다른 글
백준 2775번 부녀회장이 될테야 (0) | 2018.11.04 |
---|---|
백준 1193번 분수찾기 (0) | 2018.11.04 |
백준 2941번 크로아티아 알파벳 (0) | 2018.11.03 |
프로그래머스 k번째 수 (0) | 2018.10.29 |
★ 프로그래머스 섬 연결하기 크루스칼 알고리즘 (0) | 2018.10.28 |