Relacionado: Validar un diagrama de tallo y hojas
Entrada
Una lista no vacía de enteros positivos. Si es necesario, se pueden tomar como cadenas. No puedes asumir que está ordenado.
Salida
Un diagrama de tallo y hojas de los números. En una de sus parcelas, de tallo y hojas, los números se ordenan en los tallos por decenas, a continuación, todos los números que encajan en ese vástago tienen sus queridos valor que se da en el tallo, y luego todo se ordenan. En este desafío, las líneas nuevas separan los tallos y los espacios separan los tallos de las hojas.
Puede incluir o excluir todos los tallos vacíos que se encuentran entre tallos no vacíos.
Casos de prueba
(las listas se pueden tomar en la lista predeterminada de su idioma, usé JSON para lo siguiente)
Incluyendo tallos vacíos:
[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]
0 11233333
1 0558
2
3
4
5
6
7
8
9
10 0
[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]
4 034499
5 0145899999
[10000, 10100]
1000 0
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010 0
Excluyendo tallos vacíos:
[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]
0 11233333
1 0558
10 0
[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]
4 034499
5 0145899999
[10000, 10100]
1000 0
1010 0
Respuestas:
R , 12 bytes
Pruébalo en línea!
Explicación:
fuente
stem
sería suficiente, ya que toma una matriz como entrada.stem
:)Jalea , 17 bytes
Pruébalo en línea!
fuente
Python 2 ,
787579 bytesPruébalo en línea!
fuente
Retina ,
3830 bytesGracias a Neil por guardar 2 bytes, y a Leo por guardar otros 6.
El recuento de bytes asume la codificación ISO 8859-1.
La entrada es una lista de enteros separada por salto de línea. La salida omite los prefijos vacíos.
Pruébalo en línea!
fuente
(?<=(\b.+ ).)¶\1
te ahorra dos bytes.JavaScript (ES6), 89 bytes
fuente
Python 2 ,
1461401331241201181091079086849182817063 bytes-6 bytes gracias a Rod. -9 bytes gracias a los ovs.
Pruébalo en línea!
De acuerdo, algo es un poco inestable. Como todos los programadores de Python deberían saber, los dictos no están ordenados, lo que significa que el orden original de los pares clave-valor no se conserva. Sin embargo, en mi código actual, no clasifico el dict resultante. Sin embargo, lo he probado varias veces, comprobando la igualdad y el orden cada vez, y el dict siempre sale bien. Si alguien refuta que siempre sale bien o sabe por qué esto funciona, me encantaría saberlo.
Entrada como una lista de python y salida como un dict. Ejemplo:
Entrada:
Salida:
fuente
r[i/10]=r.get(i/10,'')+`i%10`
para 82 bytesMathematica, 103 bytes
Código tomado de la respuesta eliminada de @ user202729
fuente
> <> , 84 bytes
¡Pruébelo en línea o en el área de juegos para peces !
Asume que los números de entrada ya están en la pila .
Explicación: Primero, clasificamos la pila usando una clasificación de burbujas , con este bit de código:
Luego, calculamos el cociente entero de lo primero en la pila usando 10
::a%-a,
, lo ponemos en el registro y pasamos por la pila imprimiendo los últimos dígitos de los números hasta que sus primeros dígitos no sean los mismos que el registro, luego incrementando el registro y continuando. Cuando llegamos al final de la lista, marcados con un0
, nos detenemos.fuente
PostgreSQL, 53 bytes
La lista de enteros debe residir en una
integer
columnan
de una tabla existentet
. El resultado es una tabla de dos columnas: cada fila consiste en una columna de "tallo" y una columna de "hojas". La columna "hojas" está en formato de matriz JSON. (Como se señaló en los comentarios, no es necesario cumplir exactamente con el formato que se muestra en "Casos de prueba").Aunque el orden de los tallos no está garantizado (para guardar 10 bytes,
ORDER BY 1
se omite desde el final de la consulta), en mi prueba, los tallos parecían terminar en el orden correcto.Ver resultado en SQL Fiddle
fuente