結果

問題 No.423 ハムスター語初級(数詞)
ユーザー SagTokiSagToki
提出日時 2018-05-18 15:30:11
言語 Java21
(openjdk 21)
結果
AC  
実行時間 127 ms / 2,000 ms
コード長 1,604 bytes
コンパイル時間 3,301 ms
コンパイル使用メモリ 73,176 KB
実行使用メモリ 57,364 KB
最終ジャッジ日時 2023-09-10 22:53:09
合計ジャッジ時間 5,506 ms
ジャッジサーバーID
(参考情報)
judge14 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 123 ms
53,656 KB
testcase_01 AC 125 ms
57,364 KB
testcase_02 AC 125 ms
55,528 KB
testcase_03 AC 125 ms
55,672 KB
testcase_04 AC 126 ms
56,144 KB
testcase_05 AC 126 ms
55,760 KB
testcase_06 AC 127 ms
55,896 KB
testcase_07 AC 127 ms
55,740 KB
testcase_08 AC 126 ms
55,688 KB
testcase_09 AC 125 ms
55,724 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