string_clean¶
Given a string, return recursively a “cleaned” string where adjacent chars that are the same have been reduced to a single char. So “yyzzza” yields “yza”.
string_clean("yyzzza") -> "yza"
string_clean("abbbcdd") -> "abcd"
string_clean("Hello") -> "Helo"
This exercise was taken from codingbat.com and has been adapted for the Python language. There are many great programming exercises there, but the majority are created for Java.
Starter Code¶
def string_clean(string: str) -> str:
pass
result = string_clean('yyzzza')
print(result)
Tests¶
from main import string_clean
def test_string_clean_1():
assert string_clean('yyzzza') == 'yza'
def test_string_clean_2():
assert string_clean('abbbcdd') == 'abcd'
def test_string_clean_3():
assert string_clean('Hello') == 'Helo'
def test_string_clean_4():
assert string_clean('XXabcYY') == 'XabcY'
def test_string_clean_5():
assert string_clean('112ab445') == '12ab45'
def test_string_clean_6():
assert string_clean('Hello Bookkeeper') == 'Helo Bokeper'