# [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: 4Explanation: s can be split into "RL", "RRLL", "RL", "RL", each substring contains same number of 'L' and 'R'.`

Example 2:

`Input: s = "RLLLLRRRLR"Output: 3Explanation: s can be split into "RL", "LLLRRR", "LR", each substring contains same number of 'L' and 'R'.`

Example 3:

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

Example 4:

`Input: s = "RLRRRLLRLL"Output: 2Explanation: s can be split into "RL", "RRRLLRLL", since each substring contains an equal number of 'L' and 'R'`

Constraints:

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

Analysis:

1. If you get L and R number is the same, we get a balance.
2. Re-set dictionary.
3. 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:

https://leetcode.com/problems/split-a-string-in-balanced-strings/discuss/555985/Simple-Python-Solution-Using-dict

--

--

## More from Fatboy Slim

Interesting in any computer science.