#include <iostream>
#include <string.h>
#include <vector>
#include <iostream>
 
int main() 
{
    int N = 0;
    std::string s = {};
    bool bCheck = false;
    int iCount = 0; 
    int iMin = 500000;
    std::cin >> N;
    std::cin >> s;
 
    for (int i = 0; i < N; ++i)
    {
        if (s[i] == 'B') 
            bCheck = true;
 
        if (bCheck && s[i] == 'R')
            ++iCount;
    }
 
    bCheck = false;
    iMin = std::min(iCount, iMin);
    iCount = 0;
 
    for (int i = N - 1; i >= 0; --i)
    {
        if (s[i] == 'B') 
            bCheck = true;
 
        if (bCheck && s[i] == 'R')
            ++iCount;
    }
 
    bCheck = false;
    iMin = std::min(iCount, iMin);
    iCount = 0;
 
    for (int i = 0; i < N; ++i)
    {
        if (s[i] == 'R') 
            bCheck = 1;
 
        if (bCheck && s[i] == 'B')
            ++iCount;
    }
 
    bCheck = false;
    iMin = std::min(iCount, iMin);
    iCount = 0;
 
    for (int i = N - 1; i >= 0; --i)
    {
        if (s[i] == 'R')
            bCheck = 1;
 
        if (bCheck && s[i] == 'B') 
            ++iCount;
    }
 
    iMin = std::min(iCount, iMin);
 
    std::cout << iMin;
 
    return 0;
}

1. 오른쪽, 왼쪽 어떤색으로 모을지 정하고

2. 넘어가야 할 색이 있는지 확인

+ Recent posts