human
Counting Sort | The main function that sort the given string arr [ ] in alphabetical order.
The output character array that will have sorted arr.
Create a count array to store count of inidividul characters and initialize count array as 0.
Store count of each character.
Change count [ i ] so that count [ i ] now contains actual position of this character in output array.
Build the output character array.
Copy the output array to arr , so that arr now contains sorted characters.
Driver program to test above function"
How can the above be solved in Python?
assistant
#Here is code to counting Sort and the other steps required.
 def countSort ( arr ) :
	output = [ 0 for i in range ( len ( arr ) ) ]
	count = [ 0 for i in range ( 256 ) ]
	for i in arr :
		count [ ord ( i ) ] += 1
	for i in range ( 256 ) :
		count [ i ] += count [ i - 1 ]
	for i in range ( len ( arr ) ) :
		output [ count [ ord ( arr [ i ] ) ] - 1 ] = arr [ i ]
		count [ ord ( arr [ i ] ) ] -= 1
	ans = [ " " for _ in arr ]
	for i in range ( len ( arr ) ) :
		ans [ i ] = output [ i ]
	return ans
arr = " geeksforgeeks "
ans = countSort ( arr )
print ( " Sorted ▁ character ▁ array ▁ is ▁ % ▁ s " % ( " " . join ( ans ) ) )