P3741题目链接
这题就别想复杂,其实很简单。
其实就是遇到VK就进行计数,并不再被统计(但不能让原本不相连的相连起来)。
处理完VK以后,遇到VV或者KK就可以再一次counter++。
VK的处理策略:当成串处理,利用contains()和replaceFirst()的组合进行替换即可,这部分的处理是这样的:
while (string.contains("VK")) {
string = string.replaceFirst("VK", "XX");
counter++;
}
换成XX也是为了防止原本不相连的两个V或者两个K连起来或者VK中的一部分与外面连起来,影响计数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = Integer.parseInt(scanner.nextLine()), counter = 0;
String string = scanner.nextLine();
scanner.close();
while (string.contains("VK")) {
string = string.replaceFirst("VK", "XX");
counter++;
}
if (string.contains("VV") || string.contains("KK")) {
counter++;
}
System.out.println(counter);
}
}