【3】プログラミング問題を予備知識なしで解いてみる企画

· 1 min read
【3】プログラミング問題を予備知識なしで解いてみる企画

問題:Leet文字列

Leet と呼ばれるインターネットスラングがあります。
Leet ではいくつかのアルファベットをよく似た形の他の文字に置き換えて表記します。
Leet の置き換え規則はたくさんありますが、ここでは次の置き換え規則のみを考えましょう。

置き換え規則

  • A → 4
  • E → 3
  • G → 6
  • I → 1
  • O → 0
  • S → 5
  • Z → 2

文字列が入力されるので、これを Leet に変換して出力するプログラムを書いてください。

入力例1

PAIZA

出力例1

P4124

入力例2

ALANTURING

出力例2

4L4NTUR1N6

提出コード

  • 難易度:ランクC
  • 受験言語:Ruby
  • 回答時間:24分15秒
  • バイト数:168 Byte
  • スコア:95点
input_lines = gets
puts input_lines.gsub(
  /A|E|G|I|O|S|Z/,
  "A" => "4",
  "E" => "3",
  "G" => "6",
  "I" => "1",
  "O" => "0",
  "S" => "5",
  "Z" => "2"
)

gsubメソッドを使って文字列の置き換えをする。
ハッシュを使うと第1引数で渡した正規表現に該当する文字を
第2引数のパターンにそって置換してくれるらしい。

もっと頭のいい書き方あるよね・・・・w

参考サイト

https://shirusu-ni-tarazu.hatenablog.jp/entry/2013/09/24/030212