結果

問題 No.423 ハムスター語初級(数詞)
ユーザー SagTokiSagToki
提出日時 2018-05-18 15:30:11
言語 Java21
(openjdk 21)
結果
AC  
実行時間 130 ms / 2,000 ms
コード長 1,604 bytes
コンパイル時間 3,748 ms
コンパイル使用メモリ 75,488 KB
実行使用メモリ 41,524 KB
最終ジャッジ日時 2024-06-28 13:44:38
合計ジャッジ時間 5,251 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 127 ms
40,856 KB
testcase_01 AC 130 ms
41,268 KB
testcase_02 AC 128 ms
40,672 KB
testcase_03 AC 127 ms
41,340 KB
testcase_04 AC 128 ms
40,812 KB
testcase_05 AC 127 ms
41,080 KB
testcase_06 AC 129 ms
41,156 KB
testcase_07 AC 128 ms
41,524 KB
testcase_08 AC 127 ms
40,720 KB
testcase_09 AC 130 ms
41,040 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class HamsterLanguage {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        try{
            String HamuLang = scanner.nextLine();
            if( HamuLang.length() > 50 || HamuLang.length() < 1){
                System.out.println("1文字以上50文字以下で入力してください");
                System.exit(0);
            }
            Pattern pattern = Pattern.compile(".*[^h|a|m|u].*");
            Matcher matcher = pattern.matcher(HamuLang);
            if(matcher.find()){
                System.out.println("文字列はh,a,m,uのみで構成してください");
                System.exit(0);
            }         
            //hamuを1に、hamを0に置き換えて0と1の2進数表示にする
            HamuLang = HamuLang.replace("hamu","1");
            HamuLang = HamuLang.replace("ham","0");
            //2進数を10進数に変換する
            int HamuNum = Integer.parseInt(HamuLang,2);
            //2倍する
            HamuNum *= 2;
            //2倍した値を再び2進数に戻す
            String NewHamuLang = Integer.toBinaryString(HamuNum);
            //再び0をhamに、1をhamuに置き換える
            NewHamuLang = NewHamuLang.replace("1","hamu");
            NewHamuLang = NewHamuLang.replace("0","ham");
            
            System.out.println(NewHamuLang);
          
        }catch(Exception E){
            System.out.println("想定外のエラーです");
        }
    }
}
0