Athlete sort
Athlete Sort
You are given a spreadsheet that contains a list of athletes and their details (such as age, height, weight and so on). You are required to sort the data based on the thattribute and print the final resulting table. Follow the example given below for better understanding.

Note that is indexed from to , where is the number of attributes.
Note: If two attributes are the same for different rows, for example, if two atheletes are of the same age, print the row that appeared first in the input.
Input Format
The first line contains and separated by a space.
The next lines each contain elements.
The last line contains .
Constraints
Each element
Output Format
Print the lines of the sorted table. Each line should contain the space separated elements. Check the sample below for clarity.
Sample Input 0
5 3
10 2 5
7 1 0
9 9 9
1 23 12
6 5 9
1
Sample Output 0
7 1 0
10 2 5
6 5 9
9 9 9
1 23 12
Explanation 0
The details are sorted based on the second attribute, since is zero-indexed.
CODE:
import math
import os
import random
import re
import sys
nm = input().split()
n = int(nm[0])
m = int(nm[1])
arr = []
for _ in range(n):
arr.append(list(map(int, input().rstrip().split())))
k = int(input())
print(arr)
b=1000
f_arr=[]
l_arr=[]
#[[10, 2, 5], [7, 1, 0], [9, 9, 9],
# [1, 23, 12], [6, 5, 9]]
# for i in range(n):
# if arr[i][k]<=b:
# b=arr[i][k]
# f_arr.insert(0,arr[i])
for i in range(n):
f_arr.append(arr[i][k])
f_arr.sort()
for i in range(len(f_arr)):
for j in range(n):
if f_arr[i]==arr[j][k] and (arr[j] not in l_arr) :
l_arr.append(arr[j])
print(l_arr)
for i in l_arr:
for j in i:
print(j,end=' ')
print()
OTHER CODE:
nm = input().split()
n = int(nm[0])
m = int(nm[1])
arr = []
for _ in range(n):
arr.append(list(map(int, input().rstrip().split())))
k = int(input())
# Athlete Sort in python - Hacker Rank Solution START
arr.sort(key = lambda x : x[k])
for i in arr:
print(*i,sep=' ')
# Athlete Sort in python - Hacker Rank Solution END
Comments
Post a Comment