結果
| 問題 | No.18 うーさー暗号 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-08-17 17:57:02 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 86 ms / 5,000 ms |
| コード長 | 743 bytes |
| コンパイル時間 | 84 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-11-26 16:35:07 |
| 合計ジャッジ時間 | 1,772 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 13 |
コンパイルメッセージ
Syntax OK
ソースコード
# 入力された値を文字列で受け取る
input = gets.chomp
# char を index 前の文字に戻す
def decode(char, index)
index =index % 26
# 64より大きい場合はそのまま使う
if 65 <= (char.ord - index) && (char.ord - index) <= 90 then
(char.ord - index).chr
# 64より小さくなる場合は、64からはみ出る分を90から引く
elsif (char.ord - index) <= 64 then
(26 + (char.ord - index)).chr
else
# とにかく65〜90の範囲になるようにすればいいんだなとは思った!むずい!
# puts i.ord - n
(char.ord - index).chr
end
end
t = []
input.chars.each_with_index do |i, idx|
t << decode(i, idx + 1)
end
puts t.join