描述
给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个字符串,计算每个字符串最大可能的“漂亮度”。
本题含有多组数据。
数据范围:输入的名字长度满足 1 \le n \le 10000 \1≤n≤10000
输入描述:
第一行一个整数N,接下来N行每行一个字符串
输出描述:
每个字符串可能的最大漂亮程度
示例1
输入:
2
zhangsan
lisi
复制
输出:
192
101
复制
说明:
对于样例lisi,让i的漂亮度为26,l的漂亮度为25,s的漂亮度为24,lisi的漂亮度为25+26+24+26=101.
def beautiful(instr):
ins = instr
dic = {}
for i in ins:
# print(i)
if i in dic:
dic[i] += 1
if i not in dic:
dic[i] = 1
# print(dic)
# {'z': 1, 'h': 1, 'a': 2, 'n': 2, 'g': 1, 's': 1}
# {'l': 1, 'i': 2, 's': 1}
sort_dic = sorted(dic.items(),key=lambda x:x[1],reverse=True)
# print(sort_dic)
# [('a', 2), ('n', 2), ('z', 1), ('h', 1), ('g', 1), ('s', 1)]
# [('i', 2), ('l', 1), ('s', 1)]
res = 0
for i in range(len(sort_dic)):
res += sort_dic[i][1] * (26-i)
print(res)
num = int(input().strip())
# print(num)
for i in range(num):
instr = list(input().strip())
# print(instr)
# ['z', 'h', 'a', 'n', 'g', 's', 'a', 'n']
beautiful(instr = instr)