Pregunta de codificación del Calificador Nacional 2 de TCS.

Se le da una string y su tarea es imprimir la frecuencia de cada carácter. 
 
Dirección para resolver el problema:
1. Tome la string de STDIN.  

aaaabbBcddee

2. Obtenga todos los caracteres diferentes en la string dada usando set(). 

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

3. Iterar para diferentes caracteres (len(set)) porque solo necesitamos imprimir un carácter una vez y cuenta en la string de entrada  

range 0 to 5 i.e total 6 element

4. En cada iteración, tome el primer carácter, imprímalo y su cuenta.  

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

5 . Elimine todas las apariciones del primer carácter, esto hará que el siguiente carácter sea el primer carácter.  

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

6. Repita el mismo proceso, vaya al paso 4. 
7. Imprima el valor en STDOUT en cada iteración (python3) o imprima de una sola vez (python2), su salida será la misma que  

a4b2B1c1d2e2

Ejemplos:  

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], "")

Publicación traducida automáticamente

Artículo escrito por okmd y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *