First, I would like to express my gratitude for the opportunity to research string similarity algorithms. I came across an interesting article on Medium that deepened my understanding: The Complete Guide to String Similarity Algorithms.
After exploring various options, I chose to implement the Ratcliff/Obershelp algorithm, as it seems to offer greater accuracy for this particular situation compared to the Levenshtein algorithm, which I was initially familiar with.
Throughout the code, you will find multiple comments that reflect my thought process. Given more time, there are certainly aspects I would approach differently.