Missing Words
Created: November 6, 2018 by [lek-tin]
Last updated: November 6, 2018
Julia and Samantha are playing with strings. Julia has a string S, and Samantha has a string T which is a subsequence of string S. They are trying to find out what words are missing in T
.
Help Julia and Samantha to solve the problem. List all the missing words in T
, such that inserting them at the appropriate positions in T
, in the same order, results in the string S
.
Constraints
1 <= |T| <= |S| <= 106
, where |X|
denotes the length of string X
.
The length of each word will be less than 15
.
Function Parameter
You are given a function missingWords that takes the strings S
and T
as its arguments. Your solution should return an array of the missing words.
Sample Input:
I am using hackerrank to improve programming
am hackerrank to improve
Sample Output:
I
using
programming
Explanation:
Missing words are:
- I
- using
- programming
Solution
def missingWords(s, t):
missing = []
a = s.split(" ")
b = t.split(" ")
j = 0
for i in range(len(a)):
if j >= len(b):
missing.append(a[i])
elif a[i] != b[j]:
missing.append(a[i])
else:
j += 1
print(missing)
return missing
missingWords("I am using hackerrank to improve programming", "am hackerrank to improve")
# Output: ['I', 'using', 'programming']