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

문제

https://leetcode.com/problems/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
반응형