/**
 * Given a list of colors and a string representation of a color, the function returns
 * a tuple with the most similar color name(s).
 */
fun findSimilarColors(colors: List<String>, colorString: String): List<String> {

    // Remove punctuation and convert to lowercase
    val colorStringCleaned = colorString.replace(Regex("[^A-Za-z0-9 ]"), "").toLowerCase()

    // Split the color string into individual words
    val words = colorStringCleaned.split(" ")

    // Find similar colors
    val similarColors = colors.filter { color -> words.any { it.toLowerCase() == color.toLowerCase() } }

    return similarColors
}
/**
 * Given a list of colors and a string representation of a color, the function returns
 * a tuple with the most similar color name(s).
 */
fun findSimilarColors(colors: List<String>, colorString: String): List<String> {
/**
 * Given a list of colors and a string representation of a color, the function returns
 * a tuple with the most similar color name(s).
 */
fun findSimilarColors(colors: List<String>, colorString: String): List<String> {

    // Remove punctuation and convert to lowercase
    val colorStringCleaned = colorString.replace(Regex("[^A-Za-z0-9 ]"), "").toLowerCase()

    // Split the color string into individual words
    val words = colorStringCleaned.split(" ")

    // Find similar colors
    val similarColors = colors.filter { color -> words.any { it.toLowerCase() == color.toLowerCase() } }

    return similarColors
}