L1-023 输出GPLT (20 分)
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....
这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT
的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
样例:输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
代码示例:
s = input()
exp = ['G', 'P', 'L', 'T', 'g', 'p', 'l', 't']
g, p, l, t = [], [], [], []
for i in s:
if i in exp:
if i is 'G' or i is 'g':
g.append('G')
elif i is 'P' or i is 'p':
p.append('P')
elif i is 'L' or i is 'l':
l.append('L')
elif i is 'T' or i is 't':
t.append('T')
ss = []
while True:
if len(g) == 0 and len(p) == 0 and len(l) == 0 and len(t) == 0:
break
if len(g) != 0:
ss.append(g[0])
del g[0]
if len(p) != 0:
ss.append(p[0])
del p[0]
if len(l) != 0:
ss.append(l[0])
del l[0]
if len(t) != 0:
ss.append(t[0])
del t[0]
print(''.join(ss))