题解 | #简单密码#

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
	"unicode"
)

func main() {
	letters := map[rune]rune{
		'a': '2',
		'b': '2',
		'c': '2',
		'd': '3',
		'e': '3',
		'f': '3',
		'g': '4',
		'h': '4',
		'i': '4',
		'j': '5',
		'k': '5',
		'l': '5',
		'm': '6',
		'n': '6',
		'o': '6',
		'p': '7',
		'q': '7',
		'r': '7',
		's': '7',
		't': '8',
		'u': '8',
		'v': '8',
		'w': '9',
		'x': '9',
		'y': '9',
		'z': '9',
	}

	inputs := bufio.NewScanner(os.Stdin)
	inputs.Scan()
	password := inputs.Text()
	builder := strings.Builder{}

	for _, letter := range password {
		var transformedLetter rune
		if letter >= 'A' && letter <= 'Z' {
			if letter != 'Z' {
				transformedLetter = unicode.ToLower(letter) + 1
			} else {
				transformedLetter = 'a'
			}
		} else if letter >= 'a' && letter <= 'z' {
			transformedLetter = letters[letter]
		} else {
			transformedLetter = letter
		}
		builder.WriteRune(transformedLetter)
	}

	fmt.Println(builder.String())
}

全部评论

相关推荐

头像
04-29 10:53
已编辑
东北大学 自动化类
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务