# [LeetCode]#1221. Split a String in Balanced Strings

**Environment: Python 3.7**

**Key technique:** dictionary

*Balanced* strings are those who have equal quantity of ‘L’ and ‘R’ characters.

Given a balanced string `s`

split it in the maximum amount of balanced strings.

Return the maximum amount of splitted balanced strings.

**Example 1:**

**Input:** s = "RLRRLLRLRL"

**Output:** 4

**Explanation: **s can be split into "RL", "RRLL", "RL", "RL", each substring contains same number of 'L' and 'R'.

**Example 2:**

**Input:** s = "RLLLLRRRLR"

**Output:** 3

**Explanation: **s can be split into "RL", "LLLRRR", "LR", each substring contains same number of 'L' and 'R'.

**Example 3:**

**Input:** s = "LLLLRRRR"

**Output:** 1

**Explanation: **s can be split into "LLLLRRRR".

**Example 4:**

**Input:** s = "RLRRRLLRLL"

**Output:** 2

**Explanation: **s can be split into "RL", "RRRLLRLL", since each substring contains an equal number of 'L' and 'R'

**Constraints:**

`1 <= s.length <= 1000`

`s[i] = 'L' or 'R'`

**Analysis:**

- Use dictionary to calculate 'L' and ‘R’ number.
- If you get L and R number is the same, we get a balance.
- Re-set dictionary.
- The example is as below.

**Solution:**

`class Solution:`

def balancedStringSplit(self, s):

check = {'R': 0, 'L': 0}

count=0

for word in s:

check[word] += 1

if check['R'] == check['L']:

count += 1

check['R'] = 0

check['L'] = 0

return count

**Submitted result:**

**Reference:**