Problem Statement
- Each rope that has an even length must be placed to the left of all ropes that have odd lengths.
- There must be at least one empty space between any two ropes.
- If there are multiple arrangements that satisfy the previous two rules, Hero will choose the one that corresponds to the lexicographically smallest string. (This is explained below.)
Definition
- Class:
- Ropestring
- Method:
- makerope
- Parameters:
- String
- Returns:
- String
- Method signature:
- String makerope(String s)
- (be sure your method is public)
Constraints
- s will contain between 1 and 50 characters, inclusive.
- Each character in s will be either '-' or '.'.
Examples
"..-..-"
Returns: "-.-..."
"-.-"
Returns: "-.-"
"--..-.---..--"
Returns: "--.--.---.-.."
"--..-.---..--..-----.--."
Returns: "--.--.--.-----.---.-...."
"..."
Returns: "..."
"...-.....-..--...-...--...-.......-.-....-"
Returns: "--.--.-.-.-.-.-.-.-......................."
"--------.-.-.--"
Returns: "--------.--.-.-"
"-----.----..--------------------------.--.-"
Returns: "--------------------------.----.--.-----.-."
".--.---.---..-.-......-..-...-.-....."
Returns: "--.---.---.-.-.-.-.-.-..............."
"......................................."
Returns: "......................................."
"..............-.....-.---..-......------..-."
Returns: "------.---.-.-.-.-.........................."
"--..-.-.........-......--...-..--......"
Returns: "--.--.--.-.-.-.-......................."
"-...----...."
Returns: "----.-......"
".--.--.----.--.--.---.-------.-.-"
Returns: "----.--.--.--.--.-------.---.-.-."
"....-...-..........--.-.........-"
Returns: "--.-.-.-.-......................."
"-.---.-.-.-.--..-...--------.-------.-.-"
Returns: "--------.--.-------.---.-.-.-.-.-.-.-..."
"--."
Returns: "--."
"-.-.-..--.--.--.-----.--"
Returns: "--.--.--.--.-----.-.-.-."
"---...---.------.-"
Returns: "------.---.---.-.."
"-......-.....--.---."
Returns: "--.---.-.-.........."
"--.---------.---.-.---------"
Returns: "--.---------.---------.---.-"
"............."
Returns: "............."
"-.--------------------------"
Returns: "--------------------------.-"
"----------------------."
Returns: "----------------------."
"-------.--------.----.-------.---."
Returns: "--------.----.-------.-------.---."
"..-.-.-..--..-"
Returns: "--.-.-.-.-...."
"-----------------------"
Returns: "-----------------------"
"..-.--"
Returns: "--.-.."
"-------.------.------------..--.----------.---.--."
Returns: "------------.----------.------.--.--.-------.---.."
"----.--.----.------..-."
Returns: "------.----.----.--.-.."
"----.....-.-.-----.-----"
Returns: "----.-----.-----.-.-...."
"--------------------------------.-------------.--."
Returns: "--------------------------------.--.-------------."
"------"
Returns: "------"
"...-........--."
Returns: "--.-..........."
"............."
Returns: "............."
"..-.-----.--..----"
Returns: "----.--.-----.-..."
"...."
Returns: "...."
".-.--.--.-----.--.---.----.--"
Returns: "----.--.--.--.--.-----.---.-."
"--------.--------."
Returns: "--------.--------."
"...-...-...-...-.....-.....-.--..............--.."
Returns: "--.--.-.-.-.-.-.-................................"
".-...-...-...-....-.....-------..--.."
Returns: "--.-------.-.-.-.-.-................."
"..-........---."
Returns: "---.-.........."
"------.----.----------------------"
Returns: "----------------------.------.----"
"...--..-...--..-..-...-.......-.........--...-...."
Returns: "--.--.--.-.-.-.-.-.-.............................."
"....."
Returns: "....."
".-..-...................-...-......."
Returns: "-.-.-.-............................."
".--.-------.----..-"
Returns: "----.--.-------.-.."
"--..--.-...--....-..-.-..-.-"
Returns: "--.--.--.-.-.-.-.-.-........"
"--..-..--..-.-..---..---..------...--......"
Returns: "------.--.--.--.---.---.-.-.-.............."
"...................................."
Returns: "...................................."
"--------------------------------------------------"
Returns: "--------------------------------------------------"
"-....-.......-....-.......-..--.--...--.-.--.....-"
Returns: "--.--.--.--.-.-.-.-.-.-.-........................."
".--.-------.-.-----.---.--.-.-.-.--."
Returns: "--.--.--.-------.-----.---.-.-.-.-.."
".-.-.......-"
Returns: "-.-.-......."
"-..-......."
Returns: "-.-........"
".........................................."
Returns: ".........................................."
"-.---.-------.---"
Returns: "-------.---.---.-"
"--.-----.-------.-.-..--.-.-.-.-.---.----.---..---"
Returns: "----.--.--.-------.-----.---.---.---.-.-.-.-.-.-.."
".---...--.-....-----....-...-.-..----.--.--..---."
Returns: "----.--.--.--.-----.---.---.-.-.-.-.............."
"--------------------------------------------"
Returns: "--------------------------------------------"
"-------------.-----------.-.---.----"
Returns: "----.-------------.-----------.---.-"
"------"
Returns: "------"
"---.-------.------"
Returns: "------.-------.---"
"..--...--..."
Returns: "--.--......."
"..--..-.-.....-----.-..-.---..----.-...-.---.-"
Returns: "----.--.-----.---.---.-.-.-.-.-.-.-..........."
"..................-...-..."
Returns: "-.-......................."
"..-..-........--..--.-..---.-..-"
Returns: "--.--.---.-.-.-.-.-............."
"--.------------...---------------."
Returns: "------------.--.---------------..."
"..----.-.-.-.--..-.-----.-..------...-.---.-----.."
Returns: "------.----.--.-----.-----.---.-.-.-.-.-.-........"
"."
Returns: "."
"----.--.---."
Returns: "----.--.---."
"----"
Returns: "----"
"....--"
Returns: "--...."
".----.--.------.-.---"
Returns: "------.----.--.---.-."
"-"
Returns: "-"
"----.--"
Returns: "----.--"
"....--...--------..------."
Returns: "--------.------.--........"
"--.--"
Returns: "--.--"