Count bulls directly. Track digit frequencies in a single array to count cows in one pass.
function getHint(secret, guess):
bulls = 0
cows = 0
counts = array of 10 zeros
for i from 0 to len(secret) - 1:
s = int(secret[i])
g = int(guess[i])
if s == g:
bulls += 1
else:
if counts[s] < 0:
cows += 1
if counts[g] > 0:
cows += 1
counts[s] += 1
counts[g] -= 1
return str(bulls) + "A" + str(cows) + "B"
time, space.