cometoj——C1847 [Contest #13]壶中的大银河

题目描述
众所周知,A 题是人口普查题。现在统计出来总共有 n名选手,其中男生用字符’B’表示,女生用字符’G’表示。现在给定所有选手的性别信息(即一个长为 n 的只含’B’,'G’的字符串,详情请参考输入描述),问其中有多少名女生参赛。
输入描述
第一行一个整数 n(1≤n≤10^5),表示参赛人数。
第二行一个长为 n 的只包含’B’和’G’的字符串 s,表示参赛选手们的性别。(若把选手编号为 1~n 的第 i个字符就代表第 i为选手的性别。)
输出描述
仅一行一个整数,表示参赛的女选手的人数。
样例输入 1
10
BGGGBBGGBG
样例输出 1
6
样例解释 1
此样例总共有 10 名选手,其中第 2, 3, 4, 7, 8, 10 名选手是女的,其他选手是男的,总共有 6 名女选手。

思路:将字符串转数组,排序后转回字符串,这样我们就得到了有序的字符串,再indexOf查找第一个G的位置,就可以得到答案。

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner read = new Scanner(System.in);
		int n = read.nextInt();
		read.nextLine();
		String s = read.nextLine();
		char a[] = s.toCharArray();
		Arrays.sort(a);
		String str = String.valueOf(a);
		int i = str.indexOf("G");
		if(i==-1)
			System.out.println(0);
		else
			System.out.println(n-i);
	}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章