首页 > 试题广场 >

字符串排序

[编程题]字符串排序
  • 热度指数:17959 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
月神拿到一个新的数据集,其中每个样本都是一个字符串,样本的的后六位是纯数字,月神需要将所有样本的后六位数字提出来,转换成数字,并排序输出。

注意:这里的排序并不是针对每个字符串的后六位,而是需要按数字大小顺序输出所有样本的后六位数字。

月神要实现这样一个很简单的功能确没有时间,作为好朋友的你,一定能解决月神的烦恼,对吧。

数据范围:字符串长度满足 ,每组测试中包含 个字符串

输入描述:
每个测试用例的第一行是一个正整数 M ,表示数据集的样本数目

接下来输入 M 行,每行是数据集的一个样本,每个样本均是字符串,且后六位是数字字符。


输出描述:
对每个数据集,输出所有样本的后六位构成的数字排序后的结果(每行输出一个样本的结果)
示例1

输入

4
abc123455
cba312456
boyxx213456
cdwxa654321

输出

123455
213456
312456
654321
前排老哥用python还写得那么长,,这和写c++有啥区别
python用2行就能搞定
for n in sorted([int(input()[-6:]) for i in range(int(input()))]):
    print(n)



编辑于 2019-12-25 15:35:48 回复(0)
'''
练习输入输出格式,第一行为数字时用int(input)
输出时从列表中循环输出
'''
m = int(input().strip())                #输入第一行的正整数用于循环
a = []                                  #定义空列表用于接收元素
for i in range(m):
    #对每一行输入的列表取后六位数字进行拼接
    a.append(int(input().strip()[-6:]))
a.sort()#排序
for i in a :
    #循环输出
    print(i)



发表于 2019-09-22 14:26:15 回复(0)
N = int(raw_input())
list1 = []
for i in range(N):
    str1 = raw_input()
    list1.append(int(str1 [-6:]))
list1.sort()
for list1中的项目:
    print项目
发表于 2019-09-08 21:48:01 回复(1)
n = int(input())
res = []
for i in range(n):
    s = input()
    s = s[-6:]
    res.append(s)

res = sorted(res)

for i in res:
    print(i)
发表于 2019-08-18 05:08:53 回复(0)
while True:
    try:
        number = []
        for _ in range(int(input())):
            s = input()
            number.append(int(s[-6:]))
        for elem in list(sorted(number)):
            print(elem)
    except:
        break
发表于 2019-08-08 23:03:28 回复(0)
"""
人生苦短,我用python
"""
import sys

if __name__ == "__main__":
    # sys.stdin = open("input.txt", "r")
    m = int(input().strip())
    a = []
    for _ in range(m):
        a.append(int(input().strip()[-6:]))
    a.sort()
    for x in a:
        print(x)

发表于 2019-07-06 21:33:00 回复(0)