Menu
Coddy logo textTech

Wildcard Matching

Coddyの「再帰チャレンジ:再帰的思考をマスターしよう」コースのレッスン 15/15。

challenge icon

チャレンジ

難しい

文字列 s とパターン p を受け取り、パターンが文字列に一致する場合は true を、そうでない場合は false を返す test という名前の関数を作成してください。

パターンには、文字、数字、空白、および以下のワイルドカードを含めることができます。

  • * - 文字、数字、空白の任意のシーケンスに一致します。
  • . - 文字、数字、空白のちょうど1つに一致します。
  • ? - オプションで文字、数字、空白の任意のシーケンスに一致します。

例:

  • test("My name is Jake", "My name is *")  ->  true
  • test("My name is Jake", "Your name is *")  ->  false
  • test("Maximum", "M..imum")  ->  true 
  • test("Mimum", "M?imum")  ->  true 
  • test("Minimum", "K?imum")  ->  false 

パターンは部分文字列ではなく、文字列の全体に一致する必要があります。

自分で試してみよう

int test(char* s, char* p) {
    // ここにコードを記述してください
}

再帰チャレンジ:再帰的思考をマスターしようのすべてのレッスン