PAT(B)_1043. 输出PATest(20)

本篇介绍了一种特定的字符串重组算法,该算法根据PATest的顺序重新排列输入字符串中的字符,忽略其他字符,并详细展示了实现过程。
1043. 输出PATest(20)


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


输入格式:


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


输出格式:


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


输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:

PATestPATestPTetPTe


def mkd(st):
  d = dict(zip('PATest',[0,0,0,0,0,0]))
  for s in st:
    if d.get(s) == None:
      d.setdefault(s,1)
    else:
      d[s] = d[s] + 1
  return d

if __name__ == '__main__':
  st = input()
  d = mkd(st)
  n = max(d.get(c) for c in 'PATest')
  for i in range(n):
    for c in 'PATest':
      if d[c]!= 0:
        print(c,end = '')
        d[c] = d[c] - 1
PePee
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值