‘Title search’ Mock exam 4
Не мога да разбера къде е проблема с решението ми и системата ми дава 10 точки. Ако някой има правилно решение може ли да го сподели?
Моето решение:
title1=input()
title=[]
n=int(input())
a=0
for character in title1:
title.append(character)
for k in range(n):
search=input()
for letter in search:
if letter in title:
a=a+1
if a==0:
print('No such title found!')
elif a!=0 and a<len(search):
a=0
print('No such title found!')
elif a==len(search):
for element in search:
title.remove(element)
print(*title,sep='')
a=0
title1=input()
title=[]
n=int(input())
a=0
for character in title1:
title.append(character)
for k in range(n):
search=input()
for letter in search:
if letter in title:
a=a+1
if a==0:
print('No such title found!')
elif a!=0 and a<len(search):
a=0
print('No such title found!')
elif a==len(search):
for element in search:
title.remove(element)
print(*title,sep='')
a=0
От тук мисля, че идва проблемът, тъй като .remove() премахва първия срещнат елемент, без да държи сметка, къде се намира елемента.
За входни данни:
taeclaedreimky
2
telerik
academy
output:
academy
За входни данни:
aeclaedreimkyt #t e в края и съответно вече няма последователност telerik, а има elerikt
2
telerik
academy
output:
academy
което вече не е вярно.
Аз имам същия проблем и съм оставила задачата с въпрос за следващата сесия. Ако насоките ми ти помогнат, ще се радвам да споделиш какво си измислил. Успех!
title = list(input())
n = int(input())
words = [input() for _ in range(n)]
for word in words:
tempora = list(title)
indices = [0]
for l in word:
if l in tempora[indices[-1]:]:
indo = tempora[indices[-1]:].index(l)
tempora[indo + indices[-1]] = ""
indices.append(indo + indices[-1])
if len(indices[1:]) == len(word):
title = [t for t in tempora if t != ""]
print("".join(title))
else:
print("No such title found!")