結果

問題 No.18 うーさー暗号
ユーザー takutaku
提出日時 2020-09-16 14:36:13
言語 Java
(openjdk 23)
結果
AC  
実行時間 152 ms / 5,000 ms
コード長 1,505 bytes
コンパイル時間 2,196 ms
コンパイル使用メモリ 77,420 KB
実行使用メモリ 54,532 KB
最終ジャッジ日時 2024-06-22 03:13:28
合計ジャッジ時間 4,387 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
	public static void main(String[] args) {
	    
	    // 入力値を取得
		Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        
        // 入力文字列を1文字ずつの配列にする
        // アルファベットの配列を準備する
        String[] s = str.split("",0);
        String[] alphabet = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
        String[] result = new String[s.length];
        
        for(int i = 0; i < s.length; i++) {
            
            for(int j = 0; j < alphabet.length; j++) {
                
                // アルファベットの配列と照合して要素番号を取得する
                if(s[i].equals(alphabet[j])) {
                    int n = j;
                    n = n - i - 1;
                    // System.out.print(j);
                    // System.out.println(" => " + n);
                    
                    // 要素番号をずらしたアルファベットを配列に格納する
                    if(n < 0) {
                        while(n < 0){
                            n = 26 + n;
                        }
                        
                    }
                    result[i] = alphabet[n];
                }
            }
        }
        
        // 出力する
        for(int i = 0; i < result.length; i++) {
            System.out.print(result[i]);
        }
	}
}
0