大文字、小文字を区別して変換するプログラミング課題です。
問題
あなたは、とある会社で文字列の校正を行う仕事をしています。校正ルール表と校正ルールに則って、校正を行います。
校正ルール表は以下の条件を満たす、長さ 26 の文字列です。・i 番目の文字は英字アルファベット順で i 番目の文字の大文字または小文字
校正ルールは以下のとおりです。
・校正する文章に登場する全ての英字アルファベットについて、校正ルール表に書かれた英字アルファベットと 大文字/小文字 が一致するように書き換える
校正ルール表および校正前の文字列が与えられるので、校正ルールに従って校正を行った後の文字列を出力するプログラムを作成してください。
という問題です。
Rubyで実装しました。
str1 = gets.chomp
str2 = gets.chomp
array1 = str1.split("")
array2 = str2.split("")
num1 = array1.length
num2 = array2.length
ans = ""
for i in 0...num2 do
char1 = array2[i]
char2 = char1.upcase
char3 = char2.downcase
for j in 0...num1 do
target_s = array1[j]
if char2 == target_s then
ans = ans + char2
elsif char3 == target_s then
ans = ans + char3
end
end
end
puts ans
実行した結果です。