TopCoder problem "SuperSort" used in TCHS SRM 5 (Division I Level Two)



Problem Statement

    A sentence is composed of words, spaces and punctuation. For this problem, words are maximal contiguous strings of letters. Given a sentence, sort the words in the sentence while preserving the spaces and punctuation. Sorting is case sensitive, so uppercase letters precede lowercase letters. Return the newly constructed sentence.



Example:
	"The big,  brown   dog    ran   down  the street!"
Returns:
	"The big,  brown   dog    down   ran  street the!"
Observe the space and punctuation preservation between the original sentence and the resulting sentence.
 

Definition

    
Class:SuperSort
Method:wordSort
Parameters:String
Returns:String
Method signature:String wordSort(String sentence)
(be sure your method is public)
    
 

Notes

-Watch out for multiple consecutive spaces (they should be preserved).
 

Constraints

-sentence will contain between 1 and 50 characters, inclusive.
-Each character in sentence will be either a letter ('a'-'z', 'A'-'Z'), ' ', '.', ',', '!' or '?'.
 

Examples

0)
    
"The big,  brown   dog    ran   down  the street!"
Returns: "The big,  brown   dog    down   ran  street the!"
1)
    
"This is the first sentence of the paragraph."
Returns: "This first is of paragraph sentence the the."
2)
    
"t.d,a!f?g.b,q!i?p.h,s!u?m.l,e!v?y.c,j!w?k.n,x!o?r."
Returns: "a.b,c!d?e.f,g!h?i.j,k!l?m.n,o!p?q.r,s!t?u.v,w!x?y."
3)
    
"What is this?"
Returns: "What is this?"
4)
    
"?   .   ,   !   "
Returns: "?   .   ,   !   "
5)
    
"                    "
Returns: "                    "
6)
    
"faecdb"
Returns: "faecdb"
7)
    
"a A b B c C d D e E"
Returns: "A B C D E a b c d e"

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6568

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=10057&pm=6568

Writer:

Uranium-235

Testers:

PabloGilberto , brett1479 , Olexiy

Problem categories:

Sorting, String Manipulation, String Parsing