public int solution(string S) { if (S.Length <= 1) { return(0); } int longestBalanced = 0; CustomQueue queue = new CustomQueue(); for (int i = 0; i < S.Length; i++) { queue.Push(S[i]); if (queue.GetCurrentLongest() > longestBalanced) { longestBalanced = queue.GetCurrentLongest(); } } return(longestBalanced); }