题目描述
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
输入描述:
整数N,后续N个名字
输出描述:
每个名称可能的最大漂亮程度
示例1
输入
2 zhangsan lisi
输出
192 101
python解法:
from collections import defaultdict
def nameParse(name):
dd = defaultdict(list)
for i in name:
dd[i].append(i)
return sorted(dd.values(), key=lambda e: len(e), reverse=True)
def maxBeautyDegree(items):
res = 0
for i in range(len(items)):
res += len(items[i]) * (26 - i)
return res
try:
while True:
for i in range(int(input())):
print(maxBeautyDegree(nameParse(input())))
except:
pass