String Manipulation: Alternating Characters

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)

发布了163 篇原创文章 · 获赞 90 · 访问量 6290

猜你喜欢

转载自blog.csdn.net/weixin_45405128/article/details/104204571