题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
python3
def beautiful_degree(name): string = [] # 储存字符 string_num = [0]*26 # 储存字符数量 beauty = 0 # 漂亮度 for item in name: if item not in string: # 计算每个字符出现的次数 string.append(item) string_num[string.index(item)] += 1 else: string_num[string.index(item)] += 1 string_num = sorted(string_num[:len(string)])[::-1] # 将字符出现次数从大到小排序便于计算 for i in range(len(string_num)): beauty += (26 - i) * string_num[i] return beauty while True: try: N = int(input().strip()) # 名字个数 beauty = [] # 漂亮度 for i in range(N): beauty.append(beautiful_degree(input().strip())) for line in beauty: print(int(line)) except: break