baru003のブログ

baruの雑記兼備忘録

AOJ 0029

・問題リンク English Sentence

・コメント
もっと綺麗にプログラムが書けたらなあと毎度のこと思います(笑)
もっと簡潔な書き方はいくらでもありますが、今の自分にサッと思いついたのはこんな汚いものでした。。。精一杯ですw
ポイントはソースを見てもらえればわかると思います。
String すごい便利ですよね!

・ソース

import java.util.*;

public class P0029 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = "";
		String str1 = "";
		boolean flag = false;
		while (sc.hasNext()) {
			str = sc.next();
			if (flag == true)
				str1 += " ";
			str1 += str;
			flag = true;
		}
		String[] str2 = str1.split(" ");
		int[] ans = new int[1000];
		int maxF = 0;// 最頻出文字の出現回数
		String ansF = "";// 最頻出文字
		// 出現回数をカウントし、最大出現回数を
		for (int i = 0; i < str2.length; i++) {
			for (int j = 0; j < str2.length; j++) {
				if ((i != j) && (str2[i].equals(str2[j]))) {// 同じ文字かチェック
					ans[i]++;// 同じ文字の場所のカウントを増やす
					if (ans[i] > maxF) {//
						maxF = ans[i];
						ansF = str2[i];
					}
				}
			}
		}
		// 文字数カウント
		int len = 0;
		String max = "";
		for (int i = 0; i < str2.length; i++) {
			if (len < str2[i].length()) {
				max = str2[i];
				len = str2[i].length();
			}
		}
		System.out.println(ansF + " " + max);
	}

}