📜  TCS 国家资格赛 2 编码问题。

📅  最后修改于: 2022-05-13 01:54:27.501000             🧑  作者: Mango

TCS 国家资格赛 2 编码问题。

给你一个字符串,你的任务是打印每个字符的频率。解决问题的方向:

1. 从标准输入中获取字符串。

aaaabbBcddee

2. 使用 set() 获取给定字符串中的所有不同字符。

set ={a, b, B, c, d, e}  # unordered set

3. 迭代不同的字符( len(set )),因为我们只需要打印一次字符,它会计入输入字符串

range 0 to 5 i.e total 6 element

4. 在每次迭代中获取第一个字符打印它和它的计数。

now for 0
input_string[0]  is 'a' and its count is 4

5.删除所有出现的第一个字符,这将使下一个字符成为第一个字符。

remove 'a' by replacing all 'a' in string by ""
new input string will be
bbBcddee

6. 重复同样的过程,转到第 4 步。
7. 在每次迭代时将值打印到 STDOUT (python3) 或一次性打印 (python2),您的输出将与

a4b2B1c1d2e2

例子:

Input : aaaabbBcddee
Output :a4b2B1c1d2e2

Input :aazzZ
Output :a2z2Z1 
Python
# Python2 code here
input_string = raw_input()
temp_string =""
for _ in range(len(set(input_string))):
    temp_string += input_string[0] + str(input_string.count(input_string[0]))
    input_string = input_string.replace(input_string[0], "")
print temp_string


Python3
# Python3 code here
input_string = input()
for _ in range(len(set(input_string))):
    print(input_string[0]+str(input_string.count(input_string[0])), end ="")
    input_string = input_string.replace(input_string[0], "")


Python3

# Python3 code here
input_string = input()
for _ in range(len(set(input_string))):
    print(input_string[0]+str(input_string.count(input_string[0])), end ="")
    input_string = input_string.replace(input_string[0], "")