题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
package main
import (
"fmt"
"bufio"
"os"
)
func main(){
input := bufio.NewScanner(os.Stdin)
input.Scan()
key := input.Text()
input.Scan()
waitS := input.Text()
m := make(map[rune]int)
dict := []byte{}
for i,v := range key{//单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头
if _,ok := m[v];ok{
continue
}else{
m[v] = i
dict = append(dict, byte(v))
}
}
for i:='a';i<='z';i++{ //将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表
if _,ok:=m[i];!ok{
dict = append(dict, byte(i))
}
}
ans := []byte{}
for _,c := range waitS{ //对应取值
t := dict[c-'a']
ans = append(ans, t)
}
fmt.Println(string(ans))
}
