結果
| 問題 | No.18 うーさー暗号 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 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 | 
ソースコード
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]);
        }
	}
}
            
            
            
        