tgoop.com/golang_interview/228
Last Update:
💡Задача: Быки и коровы
Условие задачи: разыгрывается партия, в которой мы просим оппонента угадать число. После первой попытки мы мы говорим другу количество отданных цифр и неотгаданных.
Быки - правильные цифры, находящиеся на нужных позициях.
Коровы - правильные числа, но находящиеся на соответствующих позициях.
Задача - выдать подсказку в формате "xAyB", где x - количество быков, y - количество коров.
Пример:
Ввод: secret = "1807", guess = "7810"
Вывод: "1A3B"
Объяснение:
Ввод: secret = "1123", guess = "0111"
Вывод: "1A1B"
Решение:func getHint(secret string, guess string) string {
digits := [10]int{}
bulls, cows := 0, 0
for i := 0; i < len(secret); i++ {
s := secret[i] - '0'
g := guess[i] - '0'
if s == g {
bulls++
} else {
if digits[s] < 0 {
cows++
}
if digits[g] > 0 {
cows++
}
digits[s]++
digits[g]--
}
}
return fmt.Sprintf("%dA%dB", bulls, cows)
}
пишите свое решение в комментариях 👇
@golang_interview
BY Golang вопросы собеседований
Share with your friend now:
tgoop.com/golang_interview/228