본문 바로가기

Algorithm

[파이썬] 백준 1316번: 그룹 단어 체커

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

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 
cnt = 0
for i in range(int(input())):
    word = input()
    if list(word) == sorted(word, key=word.find):
        cnt += 1
print(cnt)

sorted(word, key=word.find) 를 통해 들어오는 순서대로 섞어주고, list(word)랑 비교해주시면 됩니다.
예시1: word가 'happy' 일 경우
sorted(word, key=word.find): ['h', 'a', 'p', 'p', 'y']

예시2: word가 'happya' 일 경우
sorted(word, key=word.find): ['h', 'a', 'a', 'p', 'p', 'y']