균형 잡힌'L' 문자열은 동일한 수의 및 문자를 갖는 문자열입니다 'R'.
균형 잡힌 문자열이 주어지면 s다음과 같이 몇 개의 하위 문자열로 분할합니다.
각 하위 문자열은 균형을 이루고 있습니다.
얻을 수 있는 균형 잡힌 문자열의 최대 개수를 반환 합니다 .
입력: s = "RLRRLLRLRL"
출력: 4
설명: s는 "RL", "RRLL", "RL", "RL"로 분할될 수 있으며, 각 하위 문자열에는 동일한 수의 'L'과 'R'이 포함됩니다.
예 2:
출력: 2
설명: s는 "RL", "RRRLLRLL"로 분할될 수 있으며 각 하위 문자열에는 동일한 수의 'L'과 'R'이 포함됩니다.두 번째 및 다섯 번째 하위 문자열이 균형을 이루지 않기
때문에 s를 "RL", "RR", "RL", "LR", "LL"로 분할할 수 없습니다 .
예시 3:
입력: s = "LLLLRRRR"
출력: 1
설명: s는 "LLLLRRRR"로 분할될 수 있습니다.
2 <= s.length <= 1000
s[i]'L'또는 입니다 'R'.
s균형 잡힌 문자열 입니다 .
class Solution:
def balancedStringSplit(self, s: str) -> int:
count = 0
balance = 0
for char in s:
if char == 'L':
balance += 1
else: # char == 'R'
balance -= 1
if balance == 0:
count += 1
return count