💡Задача: Быки и коровы



Условие задачи: разыгрывается партия, в которой мы просим оппонента угадать число. После первой попытки мы мы говорим другу количество отданных цифр и неотгаданных.



Быки - правильные цифры, находящиеся на нужных позициях.



Коровы - правильные числа, но находящиеся на соответствующих позициях.



Задача - выдать подсказку в формате "xAyB", где x - количество быков, y - количество коров.



Пример:



Ввод:
secret = "1807", guess = "7810"

Вывод: "1A3B"



Объяснение:



Ввод:
secret = "1123", guess = "0111"

Вывод: "1A1B"



Решение:



class Solution:

def getHint(self, se: str, gu: str) -> str:

dcse=defaultdict(lambda:0)

dcgu=defaultdict(lambda:0)

a=0

b=0

for i in range(len(se)):

if(se[i]==gu[i]):

a+=1

else:

dcse[se[i]]+=1

dcgu[gu[i]]+=1

for x in dcse:

if(dcgu[x]>=dcse[x]):

b+=dcse[x]

else:

b+=dcgu[x]

return(str(a)+"A"+str(b)+"B")



Пишите свое решение в комментариях👇



@python_job_interview