Алиса посещает урок криптографии и находит анаграммы очень полезными. Мы считаем две строки анаграммами друг друга, если буквы первой строки можно переставить, чтобы сформировать вторую строку. Другими словами, обе строки должны содержать одинаковые точные буквы с одинаковой частотой. Например, bacd c и dcba c являются анаграммами, а bacd c и dcbad - нет.
Алиса решает на схеме шифрования, включающей две большие строки, где шифрование зависит от минимального количества удалений символов, необходимых для анаграмм двух строк. Можете ли вы помочь ей найти это число?
Учитывая две строки, a и b, которые могут иметь или не иметь одинаковую длину, определяют минимальное количество удалений символов, необходимое для создания анаграмм a и b. Любые символы могут быть удалены из любой из строк.
Например, если a = cde и b = dcf, мы можем удалить e из строки a и f из строки b, чтобы обе оставшиеся строки были cd и d c анаграммы.
Код, который я пробовал.
import math
import os
import random
import re
import sys
from collections import Counter
# Complete the makeAnagram function below.
def makeAnagram(str1, str2):
new= str1 + str2
unique =[]
z=0
for char in new[:]:
a = new.count(char)
if a%2!=0 and char not in unique:
z=z+(a%2)
unique.append(char)
a=0
return z
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
a = input()
b = input()
res = makeAnagram(a, b)
fptr.write(str(res) + '\n')
fptr.close()
для ввода
fcrxzwscanmligyxyvym
jxwtrhvujlmrpdoqbisbwhmgpmeoke
Мой вывод составляет 14
В соответствии с данными ответами вывод должен быть 30.