結果
| 問題 | No.18 うーさー暗号 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2016-04-30 02:41:12 | 
| 言語 | Java (openjdk 23) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 149 ms / 5,000 ms | 
| コード長 | 758 bytes | 
| コンパイル時間 | 2,825 ms | 
| コンパイル使用メモリ | 78,444 KB | 
| 実行使用メモリ | 54,400 KB | 
| 最終ジャッジ日時 | 2024-07-07 06:06:40 | 
| 合計ジャッジ時間 | 5,029 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 13 | 
ソースコード
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class no18 {
	public static void main(String[] args) {
		String[] az = {"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"};
		Scanner sc = new Scanner(System.in);
		Map<String,Integer> map = new HashMap<String,Integer>();
		for (int i = 0; i < az.length; i++) {
			map.put(az[i],i);
		}
		String s = sc.next();
		int N = 0;
		for (int i = 0 ; i < s.length(); i++) {
			if (map.get(String.valueOf(s.charAt(i))) - (i + 1) % 26 < 0) {
				N = 26 + map.get(String.valueOf(s.charAt(i))) - (i + 1) % 26;
			} else {
				N = map.get(String.valueOf(s.charAt(i))) - (i + 1) % 26;
			}
			System.out.print(az[N]);
		}
	}
}
            
            
            
        