Quero verificar se uma string pode ser formada por outra string. Por exemplo, no exemplo abaixo, quero verificar quantas strings na lista targets
podem ser formadas por string chars
. Cada caractere em chars
só pode ser usado uma vez.
targets = ["cat","bt","hat","tree"], chars = "atach"
Meu código é o seguinte:
ans = 0
chars_freq = Counter(chars)
for word in targets:
word_freq = Counter(word)
for char in word:
if word_freq[char] > chars_freq[char]:
break
ans += 1
return ans
No exemplo, a resposta deveria ser 2
, mas a minha é 4
. Quem pode ajudar? Obrigado.