L1-023 输出GPLT

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))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值