Menu
Coddy logo textTech

パターン・ファインダー

CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 85/86。

challenge icon

チャレンジ

簡単

2行の入力を読み取ります。1行目は検索対象のテキストで、2行目は検索するパターンです。

重複する出現を含め、テキスト内にパターンが何回現れるかをカウントし、そのカウントを出力します。

要件:

  1. 入力の1行目からテキスト文字列を読み取る
  2. 入力の2行目からパターン文字列を読み取る
  3. テキストを反復処理し、各位置でパターンを確認する
  4. 重複する一致を含め、すべての出現をカウントする
  5. 合計カウントを単一の整数として出力する

ヒント: インデックス i から始まる特定の長さの部分文字列を抽出するには、インデックスを使用した文字列スライシングを使用できます。文字列を文字の配列に変換するか、Swiftの文字列インデックス操作を使用して、各位置でパターンが一致するかどうかを確認してください。

例:

入力が以下の場合:

ababa
aba

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

2

パターン "aba" は、"ababa" のインデックス 0 とインデックス 2 に現れます。

自分で試してみよう

// 入力を読み込む
let text = readLine()!
let pattern = readLine()!

// TODO: 以下にコードを記述してください
// テキスト内にパターンが何回出現するかをカウントします(重複する出現も含む)


// 結果を出力
print(count)

基礎のすべてのレッスン