結果
問題 | No.418 ミンミンゼミ |
ユーザー |
|
提出日時 | 2017-05-25 21:08:13 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 63 ms / 1,000 ms |
コード長 | 2,350 bytes |
コンパイル時間 | 3,218 ms |
コンパイル使用メモリ | 82,920 KB |
実行使用メモリ | 37,452 KB |
最終ジャッジ日時 | 2024-07-16 02:21:08 |
合計ジャッジ時間 | 5,514 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 25 |
ソースコード
package test_5; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /*No.418 ミンミンゼミ * * - まず "mi" から始まる。 * - その後いくつかの "-" がつく。"-" の数は 0 でもかまわない。 * - 最後に "n" で終わる。 * あなたの仕事は, 文字列 SS がいくつのミーン文字列を繰り返しているかを数えることです。 * */ public class Question_05_0525_1 { static final int MIN_LENGTH = 3; static final int MAX_LENGTH = 100; static final String FIRST_CHARACTER = "mi"; static final String LAST_CHARACTER = "n"; public static void main(String[] args) { InputStreamReader re = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(re); try { int minCount = 0; int StringCount = 0; String twoCharacter; String minString = br.readLine(); if (NumJudgment(minString)) { String[] minArray = minString.split(""); do { for (int i = StringCount; i < minArray.length; i++) { // minを探す twoCharacter = minArray[i] + minArray[i + 1]; if (twoCharacter.equals(FIRST_CHARACTER)) { StringCount = i + 2; //miの2文字分進める // nを探す for (int j = StringCount; j < minArray.length; j++) { if (minArray[j].equals(LAST_CHARACTER)) { StringCount = j + 1; //nの次から検索を始める minCount++; break; } } break; } // miがなければループ else { StringCount = i + 2;//miの2文字分進める } } } while (StringCount < minString.length()); // セミが何回「ミーン」と鳴いたかを出力 System.out.println(minCount); } else { System.out.println("桁数が不正です"); } } catch (IOException e) { System.out.println("エラーが発生しました"); } finally { try { re.close(); br.close(); } catch (IOException e) { System.out.println("InputStreamReader、BufferedReaderクローズ中にエラーが発生しました"); } } } // 有効値判定メソッド private static boolean NumJudgment(String minString) { Boolean result = false; if (MIN_LENGTH <= minString.length() && minString.length() <= MAX_LENGTH) { result = true; } return result; } }