299.bulls-and-cows.go 391 B

1234567891011121314151617181920
  1. func getHint(secret string, guess string) string {
  2. s, g := make([]int, 10), make([]int, 10)
  3. bulls, cows := 0, 0
  4. for i := range secret {
  5. if secret[i] == guess[i] {
  6. bulls++
  7. } else {
  8. s[int(secret[i]-'0')]++
  9. g[int(guess[i]-'0')]++
  10. }
  11. }
  12. for i := 0; i < 10; i++ {
  13. if s[i] < g[i] {
  14. cows += s[i]
  15. } else {
  16. cows += g[i]
  17. }
  18. }
  19. return fmt.Sprintf("%dA%dB", bulls, cows)
  20. }