![]()
#include <stdio.h>
#include <string.h>
#define LENGTH 50
/*
* 1.字符序列中有一个字符肯定是分界点,它的左边全为红色,右边全为绿色
* 2.因此 该点的左边的绿色要翻转为红色 该点右边的红色要翻转成绿色
* 3.统计每个点需要翻转的次数 从中找出最小的次数即为答案
* */
int main() {
char brick[LENGTH];
int len;
scanf("%s", brick);
len = strlen(brick);
int leftGreen[LENGTH] = {0};
int rigthRed[LENGTH] = {0};
for (int i = 1; i < len; ++i) {
leftGreen[i] = leftGreen[i - 1] + (brick[i - 1] == 'G' ? 1 : 0);
}
for (int j = len - 2; j >= 0; --j) {
rigthRed[j] = rigthRed[j + 1] + (brick[j + 1] == 'R' ? 1 : 0);
}
int res = len;
for (int k = 0; k < len; ++k) {
res = (res > (leftGreen[k] + rigthRed[k]) ? (leftGreen[k] + rigthRed[k]) : res);
}
printf("%d",res);
}