# 法1:
N=int(input().strip())#输入题目N
for i in range(N):
A=input() #输入字符串
n=1 #记录相邻相同字符的个数
s = "" #定义空字符串
for j in range(len(A)-1):
if A[j]!=A[j+1]: #判断前后字符是否相同
if n!=1: #不相同且数量不为1 则输出数量和字符
s=s+str(n)+A[j]
n=1 #重置字符数量
else:
s=s+A[j]
else: #相同则n+1
n=n+1
if j==len(A)-2 and A[j]!=A[j+1]:#若倒数第二个字符与最后一个字符不相同,直接加上最后一个
s=s+A[j+1]
if j==len(A)-2 and A[j]==A[j+1]:
s=s+str(n)+A[j]#若倒数第二个字符与最后一个字符相同,且n的数量不为1,加上数量n最后一个
print(s)
# 法2:
N = int(input()) #定义n
for i in range(N):
s = input() #记录输入的字符串
d = {} #定义字典
for j in s:
d[j] = d.get(j,0) + 1 #把每个字符串的字符逐个存进字典 并且记录个数
for k in d.items(): #k[0]为字母 k[1]为数量
if k[1] == 1: #k[1]为改字母附近只有一个
print(k[0],end='')
else:
print(str(k[1])+k[0],end='')
print()
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复