Cluster all the 1 in a given string
Submissions: 114   Accuracy:

24.59%

  Difficulty: Easy   Marks: 2

Given a binary string S which only contains '0' and '1' such that the '0' or '1' at the 1st position is just next to '0' or '1' at the last position i.e. string is cyclic. Your task is to re arrange the string such that all the '1' in the string are next to each other (Note : the string is cyclic ). 
You can choose any '1' in the string and swap its position with the first '1' in any of the two direction.
Find the minimum number of moves in which the task can be done.

Input:

First line of the test case contains an integer T, denoting number of test cases. Following T lines contains a string S each.

Output:

For each of the test case print the answer in separate lines.

Constraints:

1<=T<10^3
1<=|S|<=10^4
S will consist of only '0' and '1'.
S will contain minimum of one '1'.

Example:
Input:

1
010110101

Output:

3

Explanation:

In the first move 01011010 is changed to 010110110. In the second move 010110110 is changed to 010111100. In the third move 010111100 is change to 001111100.

** For More Input/Output Examples Use 'Expected Output' option **

Author: ShivamKD


If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.



Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.


to report an issue on this page.