题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
package main import ( "fmt" "log" ) func main() { simpleSecret() } var alpToDig map[rune]rune func simpleSecret() { var in string _, _ = fmt.Scan(&in) defaultAlpToDig() inRune := []rune(in) for i := range inRune { if inRune[i] >= 'a' && inRune[i] <= 'z' { inRune[i] = smallAlpToDigit(inRune[i]) continue } if inRune[i] >= 'A' && inRune[i] <= 'Z' { inRune[i] = bigAlpToSmall(inRune[i]) continue } } fmt.Println(string(inRune)) } func defaultAlpToDig() { alpToDig = make(map[rune]rune, 0) alpToDig['a'] = '2' alpToDig['b'] = '2' alpToDig['c'] = '2' alpToDig['d'] = '3' alpToDig['e'] = '3' alpToDig['f'] = '3' alpToDig['g'] = '4' alpToDig['h'] = '4' alpToDig['i'] = '4' alpToDig['j'] = '5' alpToDig['k'] = '5' alpToDig['l'] = '5' alpToDig['m'] = '6' alpToDig['n'] = '6' alpToDig['o'] = '6' alpToDig['p'] = '7' alpToDig['q'] = '7' alpToDig['r'] = '7' alpToDig['s'] = '7' alpToDig['t'] = '8' alpToDig['u'] = '8' alpToDig['v'] = '8' alpToDig['w'] = '9' alpToDig['x'] = '9' alpToDig['y'] = '9' alpToDig['z'] = '9' } func smallAlpToDigit(alp rune) rune { _, ok := alpToDig[alp] if !ok { log.Println() } return alpToDig[alp] } func bigAlpToSmall(alp rune) rune { if alp == 'Z' { return 'a' } return alp + 33 }