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
반응형
'ALGORITHM > Greedy' 카테고리의 다른 글
[leetcode] 605. Can Place Flowers (0) | 2020.12.05 |
---|---|
[leetcode] 455. Assign Cookies (0) | 2020.12.05 |
[leetcode] 392. Is Subsequence (0) | 2020.12.04 |
[leetcode] 122. Best Time to Buy and Sell Stock II (0) | 2020.12.04 |