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