HJ45 名字的漂亮度

给出一个名字,该名字有26个字符组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。

给出多个名字,计算每个名字最大可能的“漂亮度”。

本题含有多组数据。

数据范围:输入的名字长度满足 1 \le n \le 10000 \1n10000 


输入描述:

整数N,后续N个名字

输出描述:

每个名称可能的最大漂亮程度

示例1

输入:
2
zhangsan
lisi
复制
输出:
192
101
#题目思路,是计算最多字符出现次数,按照最达26去计算,即获取输入后存储列表,再把列表中数据转为集合(集合自动去重),把集合中每个元素重复次数存入新列表s2_list,
#再对列表进行sort排序,reserver()反转,这样列表里保存的就算每个名字单个字母最多出现次数,从大到小排序,再根据s3列表保存默认漂亮度【26-1】,与s2_list列表下标
#保持一致,循环处理s2_list列表,即可。
#最后需要确保beautiful和s2_list需要每个


while True:
    try:
        N=int(input())
        s1_list=[]
        s2_list=[]
        s3_list=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]
        while N>0:
            s1_list.append(input())
            N=N-1
        for i in s1_list:
            beautiful=0
            s2_list=[]
            for j in set(i):
                s2_list.append(i.count(j))
            s2_list.sort()
            s2_list.reverse()
            for i in range(len(s2_list)):
                beautiful=beautiful+s2_list[i]*s3_list[25-i]
            print(beautiful)
    except:
        break
                


全部评论

相关推荐

若怜君欢:驾驶证去掉吧,PPT啥的也去掉,本硕课程去掉,导师和研究方向去掉;加入本硕排名(好才写);技能栏加入你会的那些控制算法和滤波算法,这个比你会啥啥啥软件更有用;获奖写上去,奖学金啊,有没有专利啊之类的 电机和硬件这一块,属于传统制造业,制造业实习并不多。多投一些攒攒经验,有实习最好,没有也不需要焦虑(制造业实习其实除了转正,没多大用处) 最后,划重点,等秋招开始后,把你所有社交软件都发一份简历上去,并经常更新,找人内推你!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务