题解 | #字符串加密#

字符串加密

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))
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务