問題文の方が問題より難しい。誤読した。 追加するのは<, >と数字だけだと思ったが、そうではなかった。

B. Dima and Text Messages

問題

単語の列$word$がある。単語とはalphabetの小文字の非空な列である。 この単語$word$の全ての単語の間と列の前後に文字列<3を加え結合し、その文字列の任意の箇所に任意の個数文字(<, >, 数字 or alphabetの小文字)を追加してできる文字列を考える。 文字列$s$が与えられるので、これが上記の手順で生成されうる文字列か判定せよ。

実装

#!/usr/bin/env python3
n = int(input())
ts = [input() for i in range(n)]
t = '<3' + '<3'.join(ts) + '<3'
s = input()
i = 0
j = 0
while i < len(t) and j < len(s):
    if t[i] == s[j]:
        i += 1
    j += 1
print(i == len(t) and 'yes' or 'no')