ALGORITHM/Greedy
[leetcode] 1221. Split a String in Balanced Strings
EARTH_ROOPRETELCHAM
2021. 2. 21. 20:43
728x90
반응형
1221. Split a String in Balanced Strings
문제
Balanced string은 동일한 개수의 'L'과 'R'로 이루어있는 string을 의미합니다. 주어진 string s을 최대한 많은 balanced string으로 나눈 후 balanced string개수를 출력합니다.
풀이
Balanced string은 RL, LR, RRLL, LLLRRR, RRRLRLLL과 같이 R과 L의 개수가 동일한 string을 의미합니다. 따라서, L과 R의 개수를 각각 세어 동일한 개수만큼 나오면 balanced string이 하나 더 생긴 것으로 볼 수 있습니다.
class Solution {
public:
int balancedStringSplit(string s) {
int balancedStringCnt = 0;
int rCnt = 0;
int lCnt = 0;
for(char &c: s){
if('L' == c)
lCnt++;
else if('R' == c)
rCnt++;
if(lCnt == rCnt) {
balancedStringCnt++;
rCnt = 0;
lCnt = 0;
}
}
return balancedStringCnt;
}
};
728x90
반응형