Good Binary Strings
Learn this problemProblem statement
Two definitions follow:
A non-empty binary string is good if the following two conditions are true:
For example, 11010 is not good because it does not have an equal number of 0s and 1s, but 110010 is good because it satisfies both conditions.
A good string can contain multiple good substrings. If two consecutive substrings are good, then they can be swapped as long as the resulting string is still a good string. Given a good binary string, binString, perform zero or more swap operations on its adjacent good substrings such that the resulting string is the largest possible numeric value. Two substrings are adjacent if the last character of the first substring occurs exactly one index before the first character of the second substring.
Function
largestGood(binString: String) → String
Complete the function largestGood in the editor.
largestGood has the following parameter(s):
String binString: a binary string
Returns
String: the largest possible good binary string
Examples
Example 1
binString = "1010111000"return = "1110001010"The substrings 1010 and 111000 are both good. Swapping them produces 1110001010, the largest possible good binary string.