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); } }