L1-023 输出GPLT
分数 20
全屏浏览
切换布局
作者 陈越
单位 浙江大学
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
# n=input()
# G=n.count("G")
# P=n.count("P")
# L=n.count("L")
# T=n.count("T")
# a=min(G,P,T,L)
# print("GPLT"*a,end=" ")
# G1=G-a
# P1=P-a
# L1=L-a
# T1=T-a
# import sys
# list_1 = [x for x in sys.stdin.readline().upper()]
# G_out,P_out = list_1.count('G'),list_1.count('P')
# L_out,T_out = list_1.count('L'),list_1.count('T')
# while G_out > 0 or P_out > 0 or L_out > 0 or T_out > 0:
# if G_out != 0:
# print('G',end="")
# G_out -= 1
# if P_out != 0:
# print('P',end="")
# P_out -= 1
# if L_out != 0:
# print('L',end="")
# L_out -= 1
# if T_out != 0:
# print('T',end="")
# T_out -= 1
# 方法一·:
a = input()
list =['G', 'P', 'L', 'T']
dict = {}
for i in list:
dict[i] = a.upper().count(i)
myStr = ""
while (sum(dict.values()) != 0):
for i in list:
if (dict[i]):
myStr += i
dict[i] = dict[i] - 1;
print(myStr)
# # 方法二:
# def sort_list(arr, outPutArr):
# if not arr:
# return outPutArr
# for i in exlist:
# if i in arr:
# arr.remove(i)
# outPutArr.append(i)
# return sort_list(arr, outPutArr)
# exlist = ["G", "P", "L", "T"]
# inStr = input().upper()
# mylist = re.findall('[GPLT]', inStr)
# outPutArr = []
# result = sort_list(mylist, outPutArr)
# print(''.join(result))