## Question

**Balanced** strings are those that have an equal quantity of `'L'`

and `'R'`

characters.

Given a **balanced** string `s`

, split it into some number of substrings such that:

- Each substring is balanced.

Return *the maximum number of balanced strings you can obtain.*

**Example 1:**

Input:s = "RLRRLLRLRL"Output:4Explanation:s can be split into "RL", "RRLL", "RL", "RL", each substring contains same number of 'L' and 'R'.

**Example 2:**

Input:s = "RLRRRLLRLL"Output:2Explanation:s can be split into "RL", "RRRLLRLL", each substring contains same number of 'L' and 'R'. Note that s cannot be split into "RL", "RR", "RL", "LR", "LL", because the 2^{nd}and 5^{th}substrings are not balanced.

**Example 3:**

Input:s = "LLLLRRRR"Output:1Explanation:s can be split into "LLLLRRRR".

**Constraints:**

`2 <= s.length <= 1000`

`s[i]`

is either`'L'`

or`'R'`

.`s`

is a**balanced**string.

## Python Solution

class Solution: def balancedStringSplit(self, s: str) -> int: nr=0 nl=0 c=0 cs='' for i in range(len(s)): if s[i]=='L': nl+=1 else: nr+=1 cs+=s[i] if nl==nr: c+=1 cs='' return c