# 总体分为2种场景:1、全部涂染为一种颜色(红或绿);2、保留2种颜色,R在前,G在右。2种场景的结果取最小值
# 保留2种颜色时,第一个必须是R,最后一个必须是G,中间的直接递归
s=input()
def func(s):
# 空字符串,或者字符串中只包含一种字符,则无需涂染
if len(set(s))==1 or not s:
return 0
else:
ans=0
if s[0]!='R':
ans+=1
if s[-1]!='G':
ans+=1
# 可全部涂染成一种颜色,或保留2中颜色,且R在前,G在右
return min(s.count('R'),s.count('G'),ans+func(s[1:-1]))
print(func(s))

京公网安备 11010502036488号