Shashank非常喜欢字符串,特别是那些连续字符都是不一样的字符串。比如:他喜欢,但他不喜欢。给定一个字符串,该字符串只可能由字母和组成。Shashank想把这个字符串转变成他喜欢的字符串,在转变的过程中,他允许删除字符串中的某些字符。 你的任务就是找出最少需要删除几个字符,才能把给定的字符串转变成Shashank喜欢的字符串。
样例输入:
5
AAAA
BBBBB
ABABABAB
BABABA
AAABBB
样例输出:
3
4
0
0
4
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the alternatingCharacters function below.
def alternatingCharacters(s):
ls=[]
count=0
for c in s:
ls.append(ord(c))
for i in range(1,len(ls)):
if ls[i]==ls[i-1]:
count+=1
return count
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
q = int(input())
for q_itr in range(q):
s = input()
result = alternatingCharacters(s)
fptr.write(str(result) + '\n')
fptr.close()
使用 itertools
import itertools
def alternatingCharacters(s):
return sum(len(list(g)) - 1 for k, g in itertools.groupby(s))
q = int(input().strip())
for a0 in range(q):
s = input().strip()
result = alternatingCharacters(s)
print(result)