Separate ‘1’ and ‘0’ in a binary string in C++

In this tutorial, we are going to discuss on a binary string problem, Separate ‘1’ and ‘0’ in a binary string in C++.

Separate ‘1’ and ‘0’ in a binary string in C++

These type of problem are being useful for an interview or in a coding round of top-IT companies and also being useful for competitive programming contests. These type of problems are being asked in various competitive programming contests in different ways. So, in this post, i am going to discuss the basic of that problem and solve it in the best way in O(n) time complexity.

What is a binary string?

Binary string is a string which consists of all elements value 0 and 1 only.

Ex:-               111000111001

Problem Statement

We are provided with a binary string of ‘0’ and ‘1’ only. We need to separate all 1’s on one side and 0 on another in binary string. We need to perform operation for this, In each operation we can only swap adjacent 1 and 0’s.

We need to find out the minimum number of operations to segregate all 1 and 0’s.


   String :-       1010101

                        OUTPUT:-     1111000


  • Read the binary string.
  • We have two options either we can shift all 0’s on right side and all 1’s on left side or vice-versa.
  • So, we need to check number of operations for both and print the minimum of two operations.
  • Whenever we got 1 we count it and check how many 0 are on its left side that number of swaps we needed to put 1 on left side and all zero on the right side.
  • Similarly, we perform the same operation when we got 0 in binary string.
  • Minimum of the above two operations will be our answer.

C++ code implementation of segregation of 1’s and 0’s in a binary string

#include <bits/stdc++.h>

#define mod 1000000007

using namespace std;
    int main()
        string s;
        long long one=0,zero=0;
             long long ans1=0,ans2=0;
            for(int i=0;i<s.length();i++)





This was the solution of the problem: Separate ‘1’ and ‘0’ in a binary string in C++

I hope you got the basic of these kinds of problems. These problems can be asked in different ways also by changing characters 0 and 1 in a string.

You can ask your doubts in the comment section below. Keep reading and stay tuned.

Thank You !!

Also learn:

Leave a Reply

Your email address will not be published. Required fields are marked *