美团春招-2023.3.11-第一题-字符串修改
题目解析以及代码
Java版代码
题目描述
小美有一个由数字字符组成的字符串,现在她想对这个字符串进行一些修改,具体地,她可以将这个字符串中任意位置字符修改为任意的数字字符。
她想知道,至少进行多少次修改,可以使得移改后的字符串不包含两个连续相同的字符?
例如,对于字符串 11222333 ,她可以进行 3 次修改将其变为 121212313 。
输入描述
一行, 一个字符串 s ,保证 s 只包含数字字符。 1≤|s|≤100000
输出描述
一行,一个整数,表示修改的最少次数。
样例
输入
111222333
输出
3
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
int sum = 0;
for (int i = 1; i < s.length(); i++) {
if (i < s.length() - 1&& s.charAt(i) == s.charAt(i - 1) && s.charAt(i) == s.charAt(i + 1) ) {
sum++;
i++;
} else if (s.charAt(i) == s.charAt(i - 1)) {
sum++;
}
}
System.out.println(sum);
}
}