OD统一机试:字母计数
题目
给出一个只包含字母的字符串,
不包含空格,统计字符串中各个子字母(区分大小写)出现的次数,
并按照字母出现次数从大到小的顺序输出各个字母及其出现次数,
如果次数相同,按照自然顺序排序,且小写字母在大写字母之前。
输入
输入一行仅包含字母的字符串
输出
按照字母出现次数从大到小的顺序输出各个字母和字母次数,
用英文分号分割,
注意末尾的分号,字母和次数中间用英文冒号分隔
示例一
输入
xyxyXX
输出
x:2;y:2;X:2;
说明
每个字符出现的次数为 2
故 x
排在 y
之前
而小写字母 x
在大写 X
之前
示例二
输入
abababb
输出
b:4;a:3;
说明
b
的出现个数比 a
多 故排在 a
前
解题思路
统计输入字符串中每个字符的出现次数,并以出现次数和字符的 ASCII 码为关键字对统计结果进行排序,最后以字符:出现次数; 的形式输出。
核心知识点
lambda 匿名函数的使用。
Python 代码实现
def solve_method(line):
char_count = {
}
for c in line: