var balancedStringSplit = function(s) {
let count = 0;
let balance = 0;
for(char of s) {
if(char === 'R') balance++;
if(char === 'L') balance--;
if(balance === 0) {
count++;
balance = 0;
}
}
return count;
};
문제의 조건을 간단히 줄여보면 R의 개수와 L의 개수가 같아야 스플릿이 가능하다는 것이다. 예를 들어 앞의 R의 개수가 5개면 뒤의 L의 개수가 5개가 있어야 스플릿이 가능하다. R과 L의 순서를 거꾸로해도 마찬가지이다.
이 규칙을 활용하기 위해서는 R이나 L의 개수를 기억해야한다. 그래서 기억을 위해 변수 하나를 선언하고 R이 나타나면 +1를 하고 L이 나타나면 -1를 하기로했다.
변수가 0이 될 경우, R과 L의 개수가 같다는 것이므로count
변수에 1을 추가해준다.