牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有L块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串S, 如果S的第i个字符是'R', 'G', 'B'或'Y',那么第i块瓷砖的颜色就分别是红、绿、蓝或者黄。
牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相同。请帮牛牛计算他最少需要换掉的瓷砖数量。
牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相同。请帮牛牛计算他最少需要换掉的瓷砖数量。
输入描述:
输入包括一行,一个字符串S,字符串长度length(1 ≤ length ≤ 10),字符串中每个字符串都是'R', 'G', 'B'或者'Y'。
输出描述:
输出一个整数,表示牛牛最少需要换掉的瓷砖数量
输入例子1:
RRRRRR
输出例子1:
3
不考虑每块瓷砖换了之后的周围颜色变化(由于颜色多有四种,而选的最小限度也为2),所以只需要考虑每块瓷砖与前一块瓷砖的颜色比较,因为每块瓷砖若要换,那么必定与后一块不相同,所以不用比较再把该块瓷砖向后比较,可选数为2或者3快,故每次比较完后移两位再比较前一块颜色即可
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
String s = in.nextLine();
int count=s.length();
int result=0;
char[] ch = s.toCharArray();
for(int i=1;i<count;){
if(ch[i] == ch[i-1]){
result++;
i=i+2;
}
else i++;
}
System.out.println(result);
}
}
另外:java字符串操作函数众多,可直接将字符串转化为字符数组,用toCharArray()函数,toCharArray()是将String中每一个下标对象保存在char[]中