結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー |
![]() |
提出日時 | 2018-05-18 15:30:11 |
言語 | Java (openjdk 23) |
結果 |
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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
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("想定外のエラーです");}}}