Hackerrank - Beautiful Binary String Solution

Hackerrank - Beautiful Binary String Solution

Alice has a binary string. She thinks a binary string is beautiful if and only if it doesn't contain the substring .

In one step, Alice can change a  to a  or vice versa. Count and print the minimum number of steps needed to make Alice see the string as beautiful.

For example, if Alice's string is  she can change any one element and have a beautiful string.

Function Description

Complete the beautifulBinaryString function in the editor below. It should return an integer representing the minimum moves required.

beautifulBinaryString has the following parameter(s):

  • b: a string of binary digits

Input Format

The first line contains an integer , the length of binary string.
The second line contains a single binary string .

Constraints

  • .

Output Format

Print the minimum number of steps needed to make the string beautiful.

Sample Input 0

7
0101010

Sample Output 0

2  

Explanation 0:

In this sample,

The figure below shows a way to get rid of each instance of :

Because we were able to make the string beautiful by changing  characters ( and ), we print .

Sample Input 1

5
01100

Sample Output 1

0

Sample Case 1:

In this sample

Explanation 1

The substring  does not occur in , so the string is already beautiful and we print .

Sample Input 2

10
0100101010

Sample Output 2

3

Explanation 2

In this sample

One solution is to change the values of  to form a beautiful string.

Solution in Python

def beautifulBinaryString(a):
    return a.replace("010","011").count("1")-a.count("1")
input()
print(beautifulBinaryString(input()))

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe