문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
균형 잡힌 문자열은 'L'과 'R'이 같은 개수를 같게 가지고 있다.
균형 잡힌 문자열 s가 주어졌을 때, 다음 조건을 만족하는 여러 개의 부분 문자열로 분할해라.
얻을 수 있는 최대의 균형 잡힌 문자열의 개수를 반환해라.
#1
Input: s = "RLRRLLRLRL"
Output: 4
Explanation: s는 "RL", "RRLL", "RL", "RL"로 나눌 수 있고, 각 부분 문자열은 'L'과 'R'의 개수가 같다.
#2
Input: s = "RLRRRLLRLL"
Output: 2
Explanation: s는 "RL", "RRRLLRLL"로 나눌 수 있고, 각 부분 문자열은 'L'과 'R'의 개수가 같다.
#3
Input: s = "LLLLRRRR"
OUtput: 1
Explanation: s는 "LLLLRRRRR"로 나눌 수 있다.
class Solution {
public int balancedStringSplit(String s) {
int count = 0;
int balanced = 0;
for(char c : s.toCharArray()){
if(c == 'L'){
balanced++;
}else{
balanced--;
}
if(balanced == 0){
count++;
}
}
return count;
}
}