パターン・ファインダー
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 85/86。
チャレンジ
簡単2行の入力を読み取ります。1行目は検索対象のテキストで、2行目は検索するパターンです。
重複する出現を含め、テキスト内にパターンが何回現れるかをカウントし、そのカウントを出力します。
要件:
- 入力の1行目からテキスト文字列を読み取る
- 入力の2行目からパターン文字列を読み取る
- テキストを反復処理し、各位置でパターンを確認する
- 重複する一致を含め、すべての出現をカウントする
- 合計カウントを単一の整数として出力する
ヒント: インデックス i から始まる特定の長さの部分文字列を抽出するには、インデックスを使用した文字列スライシングを使用できます。文字列を文字の配列に変換するか、Swiftの文字列インデックス操作を使用して、各位置でパターンが一致するかどうかを確認してください。
例:
入力が以下の場合:
ababa
aba出力は以下のようになります:
2パターン "aba" は、"ababa" のインデックス 0 とインデックス 2 に現れます。
自分で試してみよう
// 入力を読み込む
let text = readLine()!
let pattern = readLine()!
// TODO: 以下にコードを記述してください
// テキスト内にパターンが何回出現するかをカウントします(重複する出現も含む)
// 結果を出力
print(count)