Méthode naïve : tu parcours la string et tu tiens à jour le nombre de parenthèses ouvertes en cours (int ref initialisé à 0, incr pour chaque '(' et decr pour chaque ')'). Lorsque le caractère actuel est une virgule et que le compteur est à zéro, tu ajoutes le début de ta string à ta liste résultat.
Le mieux ici est d'utiliser une fonction terminale récursive qui construit la liste résultat au fur et à mesure. Je vois quelque chose comme
decoupe_chaine chaine index parentheses resultat : string -> int -> int -> string list
Partager