Escribe un programa que reporte las repeticiones consecutivas en una secuencia de cartas de Póker. Se trata de detectar subsecuencias consecutivas de cartas iguales, de una longitud , y escribir a la salida una frase describiendo cada subsecuencia usando los nombres típicos del Póker. Consideraremos 4 casos: "Pareja" (), "Trío" (), "Póker" () y repeticiones más largas (). Si una carta no se repite en la secuencia no es necesario escribir nada. Tampoco hay que considerar solapamientos, solo hay que informar de las subsecuencias con repeticiones más largas.
La entrada consiste en una secuencia de caracteres que representan
las cartas. Tal como en el problema "Mejor Carta", los caracteres para
las cartas son A, 2, 3, ...,
9, 0, J, Q y
K. La secuencia de cartas termina con un punto, es decir,
el carácter '.', y puede estar vacía.
Hay que detectar las repeticiones consecutivas de cartas y escribir en la salida la descripción que corresponda al número de veces que la carta se haya repetido: "Pareja de s", "Trío de s", "Poker de s" o " s!". Cada descripción debe ir en una línea diferente y en el orden en que aparecen en la secuencia de entrada. Consulta las salidas de los juegos de prueba públicos para ver ejemplos concretos.
En este problema es necesario tratar la entrada carácter a carácter;
si usas strings o algún método para almacenar las cartas el
problema será considerado inválido. Además, ten en
cuenta que la secuencia se asume que proviene de una fuente ilimitada de
cartas, por lo que no se puede suponer ninguna longitud máxima.
Observa también que aunque la palabra "Póker" se escribe con acento, en la salida éste no debe incluirse.
Input
11.
Output
Pareja de 1s
Input
JJJ8A.
Output
Trio de Js
Input
122333KKKK9.
Output
Pareja de 2s Trio de 3s Poker de Ks
Input
1AAAAA5QQQQQQQQ7.
Output
5 As! 8 Qs!