코딩테스트/파이썬
[백준] 1316번 그룹 단어 체커 (파이썬)
100세까지 코딩
2024. 1. 11. 16:35
문제
나의 생각
- 단어를 순회하면서 바로 다음 알파벳을 본다.
- len(s)-2까지 돌아야 s [j+1]이 index 초과가 되지 않는다.
- 현재 알파벳과 다르면 현재 알파벳이 그다음에 나오는지 확인한다.
- 그다음에 또 나오면 그룹 단어가 아니므로 cnt -= 1
나의 풀이
T = int(input())
cnt = T
for i in range(T):
s = input()
for j in range(len(s) - 1):
if s[j] != s[j + 1]:
if s[j] in s[j + 1:]:
cnt -= 1
break
print(cnt)
참고
T = int(input())
cnt = T
for i in range(T):
s = input()
for j in range(len(s)-1):
if s.find(s[j]) > s.find(s[j+1]):
cnt -= 1
break
print(cnt)
- find()는 해당 문자가 나오는 첫번째 index번호를 return 해준다.
만약, 그 다음그다음 문자 index 보다 이전 문자 index가 더 크다면 그다음 문자는 이미 앞에서 나온 적이 있다는 뜻이다.
ex ) input : aba
s.find(a) : 0
s.find(b) : 1
s.find(a) : 0