Given a binary array A[] of length N, the task is to find the minimum number of operations required such that no adjacent pair has the same value where in each operation we can insert either 0 or 1 at any position in the array.
Examples:
Input: A[] = {0, 0, 1, 0, 0}
Output: 2
Explanation: We can perform the following operations to make consecutive element different in an array:
Insert 1 at index 2 in A = {0, 0, 1, 0, 0} → {0, 1, 0, 1, 0, 0}
Insert 1 at index 6 in A = {0, 1, 0, 1, 0, 0} → {0, 1, 0, 1, 0, 1, 0} all consecutive elements are different.Input: A[] = {0, 1, 1}
Output: 1
Approach: The problem can be solved based on the following observation:
A single move allows us to ‘break apart’ exactly one pair of equal adjacent elements of an array, by inserting either 1 between 0, 0 or 0 between 1, 1.
So, the answer is simply the number of pairs that are already adjacent and equal, i.e, positions i (1 ≤ i <N) such that A_{i} = A_{i + 1}, which can be computed with a simple for loop.
Follow the below steps to solve the problem:
 Initialize a variable count = 0.
 Iterate a loop for each element in A, and check if it is equal to the next element.
 If yes, increment the count by 1.
 Print the count which gives the minimum number of operations required to make consecutive elements different in an array.
Below is the implementation of the above approach.
Java

Time Complexity: O(N)
Auxiliary Space: O(1)