Я пытаюсь решить задачу, в которой мне нужно изменить порядок букв в строке s в том порядке, в котором они появляются в строке t. Например:
For s = "weather" and t = "therapyw", the output should be
sortByString(s, t) = "theeraw";
For s = "good" and t = "odg", the output should be
sortByString(s, t) = "oodg".
Это мой код:
def sortByString(s, t):
s_list = list(s)
t_list = list(t)
output = []
for i in range(len(t_list)):
if t_list[i] in s_list:
output.insert(i, t_list[i])
return ''.join(output)
Он работает для всех случаев, кроме случаев, когда одна и та же буква существует более одного раза.
s: "weather"
t: "therapyw"
Output:
"theraw"
Expected Output:
"theeraw"
Как я могу справиться с этой ситуацией в моем приведенном выше коде? Что мне не хватает? Я ценю любую помощь, но вместо того, чтобы просто выпалить ответ, я хотел бы знать, что я делаю неправильно.