题解 | #简单密码#

简单密码

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
}

全部评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务