首页 > 试题广场 >

字符串归一化

[编程题]字符串归一化
  • 热度指数:15635 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
通过键盘输入一串小写字母 (a~z) 组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如字符串"babcc"归一化后为"a1b2c2"

数据范围:输入的字符串长度满足 ,保证输入中仅包含小写的英文字母

输入描述:
每个测试用例每行为一个字符串,以'\n'结尾,例如cccddecca


输出描述:
输出压缩后的字符串ac5d2e
示例1

输入

dabcab

输出

a2b2c1d1
package main

import (
    "fmt"
    "strconv"
)

func main() {
    var s string
    fmt.Scan(&s)
    cnt:=[26]int{}
    for _,ch:=range []byte(s){
        cnt[ch-'a']++
    }
    ans:=""
    for i,x:=range cnt{
        if x!=0{
            ans+=string(i+'a')+strconv.Itoa(x)
        }
    }
    fmt.Print(ans)
}

发表于 2023-03-11 19:53:04 回复(0)