Skip to content

1358. Number of Substrings Containing All Three Characters #468

@fkdl0048

Description

@fkdl0048
// 주어진 문자열에서 a, b, c 모두 등장하는
// 부분 문자열의 개수를 찾아서 반환하기
//

class Solution {
public:
    int numberOfSubstrings(string s) {
        int n = (int)s.size();

        int lastA = -1, lastB = -1, lastC = -1;

        long long result = 0;

        for (int i = 0; i < n; i++) {
            if (s[i] == 'a') lastA = i;
            else if (s[i] == 'b') lastB = i;
            else if (s[i] == 'c') lastC = i;

            int minPos = min({lastA, lastB, lastC});

            if (minPos != -1) {
                result += (minPos + 1);
            }
        }

        return result;      
    }
};

Metadata

Metadata

Assignees

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions