結果

問題 No.18 うーさー暗号
ユーザー rio-yuasario-yuasa
提出日時 2023-08-17 17:28:58
言語 Ruby
(3.3.0)
結果
WA  
実行時間 -
コード長 776 bytes
コンパイル時間 200 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-05-05 00:10:00
合計ジャッジ時間 2,059 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 89 ms
12,160 KB
testcase_01 AC 89 ms
12,160 KB
testcase_02 AC 86 ms
12,032 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

# 入力された値を文字列で受け取る
input = gets.chomp
t = []
n = 1

input.chars.each_with_index do |i, idx|

    # 64より大きい場合はそのまま使う
    if 65 <= (i.ord - n % 26) && (i.ord - n % 26) <= 90 then
        t << (i.ord - n % 26).chr
    # 64より小さくなる場合は、64からはみ出る分を90から引く
    elsif (i.ord - n) <= 64 then
        t << (90 - ((i.ord - n % 26) - 64)).chr
        # puts 90 - ((i.ord - n) - 64)
    else
        # とにかく65〜90の範囲になるようにすればいいんだなとは思った!むずい!
        # puts i.ord - n
        t << (i.ord - (n % 26)).chr
    end

    n += 1
    # if idx == 0 || idx % 26 != 0
    #     n += 1
    # else
    #     n = 1
    # end
end

puts t.join
0