2582 - Secv Elim: Difference between revisions
Andrada378 (talk | contribs) No edit summary |
Andrada378 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== Cerința == | |||
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. | 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. | Să se afișeze șirul obținut. | ||
Date de intrare | == 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. | |||
== Restricții și precizări == | |||
* șirul dat conține maximum 255 de caractere | |||
* nu se face diferență între literele mari și mici. | |||
== Exemplu == | |||
'''Intrare''' | |||
aAcboOoBcAXa | |||
'''Ieșire''' | |||
AXa | |||
Rezolvare<syntaxhighlight lang="python"> | == Rezolvare == | ||
<syntaxhighlight lang="python"> | |||
s = input() | |||
i = 0 | |||
if | while i < len(s) - 1: | ||
if s[i].lower() == s[i + 1].lower(): | |||
c = s[i].lower() | |||
j = i + 1 | |||
while j < len(s) and s[j].lower() == c: | |||
j += 1 | |||
s = s[:i] + s[j:] | |||
i = -1 | |||
i += 1 | |||
print(s) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 12:07, 2 January 2024
Cerința
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.
Restricții și precizări
- șirul dat conține maximum 255 de caractere
- nu se face diferență între literele mari și mici.
Exemplu
Intrare
aAcboOoBcAXa
Ieșire
AXa
Rezolvare
<syntaxhighlight lang="python"> s = input() i = 0
while i < len(s) - 1:
if s[i].lower() == s[i + 1].lower(): c = s[i].lower() j = i + 1 while j < len(s) and s[j].lower() == c: j += 1 s = s[:i] + s[j:] i = -1 i += 1
print(s) </syntaxhighlight>