题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/questionTerminal/02cb8d3597cf416d9f6ae1b9ddc4fde3
思路(使用了from collections import Counter)
- 存一个{字符,出现次数}字典;
- 排序(使用value即可,我们不关心字符是什么,只关心出现次数),从大到小;
- 遍历values列表,与“26--”挨个相乘求和;
- 打印这个和。
代码
from collections import Counter
while True:
try:
n = int(input())
while(n):
n = n-1
s = input()
counter = Counter(s)
counter = sorted(counter.values(), reverse=True)
start = 26
sum = 0
for i in counter:
sum = sum+i*start
start -= 1
print(sum)
except:
break 