---
# System prepended metadata

title: Dictionary with wildcards

---

Problem
-
Implement a dictionary data structure that allows searching for items using wildcards. A `*` is supported and it represents any single letter.

Create an `Add` function that takes a string and adds it to the dictionary.

Create a `Find` function that takes as input a string with possible one or more wildcards and returns a boolean value indicating whether the input string is in the dictionary.

The following test should pass:
```
Add("cat")
Add("cats")
Add("car")
Add("horse")

Find("cat") == true
Find("cats") == true
Find("car") == true
Find("horse") == true
Find("ca*") == true
Find("*at") == true
Find("*a*") == true
Find("h***e") == true
Find("cat*") == true
Find("***") == true
Find("dog") == false
Find("*an") == false
Find("******") == false
```