#はじめに
paizaの問題もDランクですが解けるようになってきました。
ここでのアウトプットの成果が見える形で現れてきました。
本日もアウトプットしていきます。
#問題
対象となる文字列から特定の文字列の数を算出し、その数を出力するプログラムを実装してください。
- 対象となる文字列の中から,"na"という文字列の数を取得する
- 上記で取得した数を出力する
.rb
def count_na(str)
# 処理を記述
end
# 呼び出し例(引数には対象となる文字列を指定します)
count_na('bananaman nanase nanairo')
#ヒント
-
scanメソッドを使用します
※scanメソッドは、対象の要素から引数を指定した文字列を数え、配列として返すメソッド
.rb
"nanananinunenonani".scan("na")
=> ["na", "na", "na", "na"]
#解答
.rb
def count_na(str)
puts str.scan("na").length
end
count_na('bananaman nanase nanairo')
=> 6
count_naメソッドの仮引数に文字列が格納されています。
まずはscanメソッドde"na"という文字列だけ返してみます。
.rb
def count_na(str)
puts str.scan("na")
end
count_na('bananaman nanase nanairo')
=> na na na na na na
"na"の文字列が6個返す事が出来ました。
今回はその数だけを返したいので、lengthメソッドを使いました。
#最後に
正規表現を使う場合がほとんどですが、今回は問題を解くために使いました。