2582 - Secv Elim: Difference between revisions

From Bitnami MediaWiki
Andrada378 (talk | contribs)
Pagină nouă: Cerinta Se dă un șir de caractere care conține doar litere mici și mari ale alfabetului englez. Se parcurge șirul de la stânga la dreapta și dacă se întâlnește o secvență de litere alăturate egale, se șterge. Dacă în urma acestei operații se obține o nouă secvență de litere egale, se șterge și ea, ș. a. m. d. Să se afișeze șirul obținut. Date de intrare Programul citește de la tastatură un șir de caractere. Date de iesire Programul va afi...
 
Andrada378 (talk | contribs)
No edit summary
Line 35: Line 35:
    input_string = input("Introduceti sirul de caractere: ")
    input_string = input("Introduceti sirul de caractere: ")


    result = elimina_duplicate_alaturate(input_string)
    rezultat = elimina_duplicate_alaturate(input_string)


    print("Sirul obtinut dupa eliminarea duplicatelor consecutive este:", result)
    print("Sirul obtinut dupa eliminarea duplicatelor consecutive este:", rezultat)

Revision as of 13:47, 14 December 2023

Cerinta

Se dă un șir de caractere care conține doar litere mici și mari ale alfabetului englez. Se parcurge șirul de la stânga la dreapta și dacă se întâlnește o secvență de litere alăturate egale, se șterge. Dacă în urma acestei operații se obține o nouă secvență de litere egale, se șterge și ea, ș. a. m. d.

Să se afișeze șirul obținut.

Date de intrare

Programul citește de la tastatură un șir de caractere.

Date de iesire

Programul va afișa pe ecran șirul obținut.

Rezolvare

def elimina_duplicate_alaturate(s):

    rezultat = []

    for char in s:

        if not rezultat or char != rezultat[-1]:

            rezultat.append(char)

        else:

            rezultat.pop()

    return ''.join(rezultat)

if __name__ == "__main__":

    input_string = input("Introduceti sirul de caractere: ")

    rezultat = elimina_duplicate_alaturate(input_string)

    print("Sirul obtinut dupa eliminarea duplicatelor consecutive este:", rezultat)