Introducción
Los desafíos del alfabeto están en nuestro ADN, así que demostrémoslo.
Desafío
Imprima el siguiente texto exactamente:
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
zz
ZZ
Yy yY
WwXx xXwW
TtUuVv vVuUtT
QqRrSs sSrRqQ
NnOoPp pPoOnN
KkLlMm mMlLkK
HhIiJj jJiIhH
EeFfGg gGfFeE
BbCcDd dDcCbB
AaBbCc cCbBaA
Reglas
- Debes coincidir con el caso de cada letra
- Se permiten nuevas líneas y / o espacios finales y / o iniciales
Victorioso
El código más corto en bytes gana.
code-golf
ascii-art
kolmogorov-complexity
alphabet
Decaimiento Beta
fuente
fuente
Respuestas:
Vim (sin herramientas externas), 106 bytes
Nuevas líneas para mayor claridad:
Aquí
↵
está Return,→
es Right,♥
es Escape,ʌ
es CTRL-V yð
es Delete.fuente
Python 2, 230 bytes
fuente
PowerShell v2 +,
175169163154 bytesPruébalo en línea!
Abusa del hecho de que el valor predeterminado
Write-Output
al final de la ejecución inserta una nueva línea entre los elementos.La primera línea construye las ramas. Hacemos un bucle en dos rangos correspondientes a los valores ASCII para las letras mayúsculas, cada iteración genera una
char
matriz de esa letra y esa letra+32
(que es el punto ASCII en minúsculas). Eso se-join
junta en una cadena larga, luego-split
en cada seis elementos (encapsulados en parens para que se conserven), seguido de un-ne''
para extraer los elementos vacíos como resultado de la división, formando así una matriz de cadenas.Estas cadenas en una matriz get matriz de concatenación para añadir en las
WwXx
,Yy
yZ
los elementos, a continuación, un Padright 10
para que se den el ancho apropiado. En este punto tenemos una serie de cadenas como la siguiente (un elemento por línea).Toda esa matriz se canaliza a otro bucle para construir las cadenas reflejadas con
-join
una inversión de matriz[9..0]
.Guardamos las cadenas resultantes
$x
y las incluimos en parens para colocar también una copia en la tubería.La siguiente línea coloca la
zz
cadena en la tubería, luego la$x
matriz en orden inverso. Todos estos quedan en la tubería y la salida es implícita.-9 bytes gracias a mazzy.
fuente
'(.{6})'
cambio(......)
yRightPad
en su lugar espacios de cola.Python 2 , 156 bytes
Pruébalo en línea!
512/(i**4+47)-1
que codifica cuántos espacios anteponer a cada línea (que
(-1)*' '
es igual a0*' '
).fuente
Python 2,
331241229 bytesLo jugará más tarde.fuente
Lua, 212 bytes
Bastante simple, basado en la respuesta de TimmyD, más o menos. Construye el brazo superior izquierdo usando un trozo realmente mal comprimido, luego hace ambos espejos a la vez alrededor de una 'zz' e imprime.
Pruébalo en Repl.
fuente
05AB1E ,
4846403836 bytes-2 bytes (y la oportunidad de 10 más con este enfoque alternativo) gracias a @MagicOctopusUrn .
Pruébalo en línea.
Explicación:
Vea esta sugerencia mía 05AB1E (sección ¿Cómo comprimir enteros grandes? ) Para comprender por qué
Ž3ô
es1008
yƵJ
es120
.fuente
•3ô•8.D120 6 1D)bí.Bí»…abcA¦«Dus.ιv1y.;}0ð:º.∊
"abc"
se puede jugar por 6 más:•3ô•
puede serŽ3ô
;120 6 1D
puede serƵJ6XD
;…abcA¦«Dus.ι
puede seržRAu¦«Dl.ι
. :)í.Bí
aTj
(solo funciona en la nueva versión, pero no estoy seguro de si es un error o es intencional). De manera implícita, habilitó un ahorro de 10 bytes en total con su enfoque alternativo. : DžRAu¦«Dl.ιS
podría ser alternativamenteA¬žR:uSDl.ι
, pero desafortunadamente eso no ahorrará bytes. Y en0м.B
lugar de0ð:
es un byte más en lugar de menos ... Esperaba que los espejos se encajonen implícitamente al agregar espacios finales para.B
que no sea necesario, pero quizás sea mejor que no lo hagan para otros desafíos, supongo.Stax ,
42413835 bytesEjecutar y depurarlo
Actualización: hubo un error en la solución de 41 bytes. (sí, aunque no tiene entrada) Mientras lo arreglaba, encontré 3 bytes más para afeitarme.
Actualice nuevamente: hay competencia en marcha, así que eliminé 3 bytes de contingencia más.
Explicación: (de una solución diferente, pero de tamaño idéntico)
Ejecute este
fuente
Matrices , 105 bytes (sin competencia)
Vaya, encontré muchos errores. La única parte difícil de este desafío fue la cruz en el medio. Eso hace que casi la mitad del byte cuente.
Corre con la
-A 1
banderaExplicación:
Otro error que aún no he solucionado es que la última parte
u{z1cX}
no funciona cuando pones el corte después delX
. Investigará / arreglará.fuente
/// , 229 bytes
Pruébalo en línea!
fuente
PowerShell , 150 bytes
Pruébalo en línea!
fuente
Brainfuck, 456 bytes
Pruébalo en línea!
fuente
Python 3 , 215 bytes (no competitivos)
Pruébalo en línea!
Toma algunas ideas de las dos soluciones de Python 2, pero las aplica a un enfoque usando join () que parece ahorrar bastantes bytes. Es posible que esto pueda jugar más golf; Podría volver a visitar esto más tarde.
fuente
Ruby ,
177 ...145 bytesPruébalo en línea!
fuente
Chicle, 168 bytes
Pruébalo en línea!
Como esta es mi primera presentación de Bubblegum, puede que no sea la solución óptima. Revisa otra vez, por favor.
fuente