mardi 21 novembre 2023

la methode Encode[string plainText) qui renvoie un message encodé.

 implementer la methode Encode[string plainText) qui renvoie un message encodé. Elle recoit un parametre plainText qui est une chaine de caractere par exemple aaaabcccaaa . Vous devez l'encoder en comptant les occurrences consécituve de chaque lettre, par exemple dans aaaabcccaaa iil ya 4 fois la lettre a, puis 1 b, puis 3 c, puis 3 a. Par consequent, vous devez retourner la chaine 4a1b3c3a. Contraines: plainText est une chaine de caractere en miniscule entre a et z. plainText n'est jamais null et a une taille maximale de 15000 caracteres



public class Solution

{

    public static string Encode(string plainText)

    {

        if (plainText.Length == 0) return "";


        char currentChar = plainText[0];

        int count = 1;

        var encodedText = new System.Text.StringBuilder();


        // Parcours de la chaîne en commençant par le deuxième caractère

        for (int i = 1; i < plainText.Length; i++)

        {

            if (plainText[i] == currentChar)

            {

                count++; // Incrémente le compteur si le caractère est identique au précédent

            }

            else

            {

                // Ajoute le caractère et son compteur à la chaîne encodée

                encodedText.Append(count).Append(currentChar);

                currentChar = plainText[i];

                count = 1; // Réinitialise le compteur pour le nouveau caractère

            }

        }


        // Ajoute le dernier caractère et son compteur

        encodedText.Append(count).Append(currentChar);


        return encodedText.ToString();

    }

}


Aucun commentaire:

Enregistrer un commentaire