Menu
Coddy logo textTech

パターン・ファインダー

CoddyのRジャーニー「基礎」セクションの一部 — レッスン 77/78。

challenge icon

チャレンジ

簡単

textpattern の2つの引数を取る count_pattern という名前の関数を作成してください。この関数は、重なり合う出現回数を含め、テキスト内にパターンが出現する回数を返す必要があります。

2行の入力を受け取ります:

  1. 検索対象となるテキスト文字列
  2. 検索するパターン文字列

提供された入力を使用して関数を呼び出し、結果を出力してください。

ヒント:

  • 文字列の長さを取得するには nchar() を使用します
  • 部分文字列を抽出するには substr(text, start, stop) を使用します
  • 有効な各開始位置を反復処理し、部分文字列がパターンと一致するかどうかを確認します

例えば、入力が以下の場合:

ababa
aba

出力は以下のようになります:

2

説明:パターン "aba" は位置1(ababa)と位置3(ababa)に出現するため、カウントは2になります。

入力が以下の場合:

mississippi
issi

出力は以下のようになります:

2

自分で試してみよう

# 入力を読み込む
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: textとpatternを受け取るcount_patternという名前の関数を作成する
# そして、text内でのpatternの重複する出現回数を返す


# 関数を呼び出して結果を表示する
print(count_pattern(text, pattern))

基礎のすべてのレッスン