In this HackerEarth Xenny and Partially Sorted Strings problem solution Xenny had a list of N strings of equal length. He wanted to sort them by the first M characters only. That means, while sorting the list of strings, he only wanted to consider the first M characters of each string.
Help Xenny to find out the Kth string in the list after he sorts them.

Note: Xenny wanted to perform stable sorting.
Stable sorting algorithms maintain the relative order of records with equal keys (i.e. values). That is, a sorting algorithm is stable if whenever there are two records R and S with the same key and with R appearing before S in the original list, R will appear before S in the sorted list.


HackerEarth Xenny and Partially Sorted Strings problem solution


HackerEarth Xenny and Partially Sorted Strings problem solution.

t=input()
for x in xrange(t):
n,k,m=map(int,raw_input().split())
a,li=[],[]
for i in xrange(n):
a.append(raw_input())
li.append((a[i][:m],i))
li.sort()
print a[li[k-1][1]]

Second solution

T = int(raw_input()) # 5
for qq in xrange(T):
N, K, M = map(int, raw_input().split()) # 10**3
a = [raw_input() for i in xrange(N)] # len(s) = 10**3
a = sorted(a, key=lambda x: x[:M - 1])
print a[K-1]