Good morning! Here's our prompt for today.
You're given an array of strings containing alphabetical characters and certain $
characters. A $
represents a DELETE action whereby the character before it is deleted.
Each of these strings will be run through a method to operate on the $
DELETE action. We want to find out if the final string is the same for all of them. Let's take an example:
1input = ["f$st", "st"]
2is_dollar_delete_equal(input)
3# True
4# True because both become 'st'

Can you find a solution in O(n)
time and constant
space?
Constraints
- The input arrays can be of any size
- Every string has at least a single character
- The string will consist of dollar signs and lowercase alphabets
- Expected overall time complexity :
O(n)
- Expected space complexity :
O(n)
for good solution,O(1)
for asymptotically optimal solution
Try to solve this here or in Interactive Mode.
How do I practice this challenge?
xxxxxxxxxx
30
​
def is_dollar_delete_equal(arr):
# fill in
return arr
​
​
import unittest
​
​
class Test(unittest.TestCase):
def test_1(self):
assert is_dollar_delete_equal(["f$ec", "ec"]) == True
print("PASSED: `['f$ec', 'ec']` should return `true`")
​
def test_2(self):
assert is_dollar_delete_equal(["a90$n$c$se", "a90n$cse"]) == False
print("PASSED: `['a90$n$c$se', 'a90n$cse']` should return `false`")
​
def test_3(self):
assert is_dollar_delete_equal(["ab$$", "c$d$"]) == True
print("PASSED: `['ab$$', 'c$d$']` should return `true`")
​
def test_4(self):
assert is_dollar_delete_equal(["b$$p", "$b$p"]) == True
print("PASSED: `['b$$p', '$b$p']` should return `true`")
​
​
if __name__ == "__main__":
unittest.main(verbosity=2)
print("Nice job, 4/4 tests passed!")
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment
We'll now take you through what you need to know.
How do I use this guide?
Access all course materials today
The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.