パターンファインダー
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 92/93。
チャレンジ
中級findPattern 関数を記述してください。この関数は text と pattern を受け取り、テキスト内でパターンが最初に出現する位置の開始インデックスを返します。
テキストを検索して、パターンが最初に現れる位置を見つけます。見つかった場合は、0 始まりの開始インデックスを返します。パターンがテキスト内に存在しない場合は、-1 を返します。
ロジック:
- テキスト内で取り得る開始位置を順番に調べる
- 各位置で、部分文字列がパターンと一致するか確認する
- 一致が見つかったらすぐにインデックスを返す
- すべての位置を調べても一致が見つからない場合は、
-1を返す
パラメーター:
text(String): 検索対象のテキストpattern(String): 検索するパターン
戻り値: パターンが最初に現れる位置の 0 始まりのインデックス。見つからない場合は -1(Int)
入力の制約: 空のパターンはインデックス 0 に一致します。テキストより長いパターンには一致するものがありません。
自分で試してみよう
fun findPattern(text: String, pattern: String): Int {
// ここにコードを書いてください
}
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド