# Equal Number Of Boys And Girls

Posted: 7 Mar, 2021
Difficulty: Moderate

## PROBLEM STATEMENT

#### A complete row is given as an array of characters (as a string 'S'), you have to find the length of the longest such subarray which follows the above criteria.

##### Input Format:
``````The first line contains a single integer ‘T’ representing the number of test cases.

The first line of each test case will contain a single integer ‘N’ which represents the number of students in the row.

The second line of each test case contains a string ‘S’ of length ‘N’ which is comprised of two characters ‘G’ and ‘B’ where ‘B’ denotes Boy and ‘G’ denotes the Girl.
``````
##### Output Format:
``````For each test case, print the length of the longest possible subarray that  Kevin pick so that students are adjacent to each other.

Output for every test case will be printed in a separate line.
``````
##### Note:
``````You don’t need to print anything; it has already been taken care of. Just implement the given function.
``````
##### Constraints:
``````1 <= T <= 10
1 <= N <= 10000
S[ i ] =  ‘B’ or ‘G’

Where S[i] denotes the ‘i-th’ character of the given string ‘s’.

Time limit: 1 sec
`````` Approach 1

The basic idea of this approach is to loop through each subarray and find the length of the longest subarray which satisfies the property mentioned in the problem statement.

The steps are as follows:

1. Create a variable to store the answer (say, “ans”) and Initialise it with 0.
2. Iterate through ‘s’ (say, iterator = ‘i’)
• Iterate again through ‘s’ from ‘i’ to end of ‘s’ (say, iterator = ‘j’)
• Iterate through ‘s’ from ‘i’ to ‘j’ and check if it has an equal number of boys and girls.
• If it has, then check if it is also longest or not by comparing its length with “ans”. If true then store its length into “ans”.
3. Return “ans”.