Ruby 二つの文字列の順番を揃える
二つの文字列を照合します。片方の文字列を左に一文字づつずらし、二つの文字が何文字で照合するかを出力します。
(例)"tenaha" という文字列を"hatena"にします。 左に2文字ずらすと"hatena"になりますので2を出力します。
入力例
6 hatena tenaha
出力例
2
i = 0 #文字数,照合先の文字列,照合元の文字列を入力します n,a,b = gets.chomp.split.map(&:to_s) #文字列を数列に変換します int = n.to_i #照合元の文字列を一文字づつの配列に変換します。 bb = b.chars.each_slice(1).map(&:join) #ループ処理を行い、rotate()で配列を一つづつ左にずらし、.joinで文字列に変換しています。 int.times do bbb = bb.rotate(i).join if bbb == a puts i break else i += 1 end end