美文网首页
1043 输出PATest (20分)(Python)

1043 输出PATest (20分)(Python)

作者: 爱折腾的程序猿 | 来源:发表于2020-05-29 17:22 被阅读0次

    给定一个长度不超过 10^​4的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。

    输入格式:

    输入在一行中给出一个长度不超过 10^4的、仅由英文字母构成的非空字符串。

    输出格式:

    在一行中按题目要求输出排序后的字符串。题目保证输出非空。

    输入样例:

    redlesPayBestPATTopTeePHPereatitAPPT
    

    输出样例:

    PATestPATestPTetPTePePee
    

    代码实现:

    standard_word = 'PATest'
    word = [x for x in input() if x in standard_word]
    counts = {'P':0,'A':0,'T':0,'e':0,'s':0,'t':0}
    for item in word:
        counts[item] += 1
    counts = sorted(counts.items(), key=lambda x: x[1])
    while True:
        counts.sort(key=lambda x: x[1])
        count = counts[0][1]
        print(count * standard_word,end='')
        counts = list(map(lambda x:(x[0],x[1]- count), counts))
        for index,item in enumerate(counts):
            if item[1] == 0:
                standard_word = standard_word.replace(item[0],'')
                counts.pop(index)
            else:
                break
        if len(standard_word) == 0:
            break
    
    

    相关文章

      网友评论

          本文标题:1043 输出PATest (20分)(Python)

          本文链接:https://www.haomeiwen.com/subject/uuxgahtx.html