目標(何がしたいか?)
重要な文字列が含まれている文字列を抽出して出力するプログラムを作成する。
問題
1行目に重要な文字列がある(eu)
2行目からのn行目までに1行目の文字列が含まれていたら出力して
含まれていないときは出力しない。
ただしaiueoのように1行目の文字を含んでいるが、順番が違う場合や
eluのように連続していない場合はNGとする。
条件を一つも満たしていない場合は”None”を出力すること。
与えられる入力値
eu euro e aiueo eleven elu neu
期待する出力
euro
neu
コードと解説
#1行目の文字列を受け取る(chompで改行コード\nを打ち消す) string = gets.chomp #条件を満たしたものを格納したいので[]で初期化して作成 ary = [] #2行目からn行目までの入力を受け取る strings = readlines.map(&:chomp) #配列の要素を一つずつ1行目の文字列を含んでいるか調べて、Trueの場合aryに格納する strings.each { |i| ary << i if i.include?(string) } #条件を満たしていたときにはaryを出力して、一つも条件を満たさなかったときは"None"を出力 puts ary.size >= 1 ? ary : "None"