結果
問題 | No.418 ミンミンゼミ |
ユーザー | nihi9119 |
提出日時 | 2017-05-25 21:08:13 |
言語 | Java21 (openjdk 21) |
結果 |
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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 63 ms
37,016 KB |
testcase_01 | AC | 56 ms
37,304 KB |
testcase_02 | AC | 54 ms
37,452 KB |
testcase_03 | AC | 54 ms
37,244 KB |
testcase_04 | AC | 53 ms
37,292 KB |
testcase_05 | AC | 54 ms
37,248 KB |
testcase_06 | AC | 56 ms
36,772 KB |
testcase_07 | AC | 52 ms
37,328 KB |
testcase_08 | AC | 54 ms
37,052 KB |
testcase_09 | AC | 54 ms
37,332 KB |
testcase_10 | AC | 53 ms
37,116 KB |
testcase_11 | AC | 53 ms
37,216 KB |
testcase_12 | AC | 53 ms
37,260 KB |
testcase_13 | AC | 53 ms
37,192 KB |
testcase_14 | AC | 53 ms
37,304 KB |
testcase_15 | AC | 52 ms
37,180 KB |
testcase_16 | AC | 54 ms
37,332 KB |
testcase_17 | AC | 62 ms
37,144 KB |
testcase_18 | AC | 52 ms
37,332 KB |
testcase_19 | AC | 52 ms
37,240 KB |
testcase_20 | AC | 52 ms
37,248 KB |
testcase_21 | AC | 51 ms
36,760 KB |
testcase_22 | AC | 53 ms
37,336 KB |
testcase_23 | AC | 55 ms
37,340 KB |
testcase_24 | AC | 54 ms
37,360 KB |
testcase_25 | AC | 54 ms
37,200 KB |
ソースコード
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; } }