Introducción
El 24 de marzo de 2015, @isaacg mostró su respuesta de Pyth de 44 a 42 bytes. Dado que un 44 tachado ( 44 ) se parece mucho a un 44 regular, @Optimizer hizo el siguiente comentario:
Después de eso, el 21 de octubre de 2015, @ Doorknob ♦ mostró su respuesta de Ruby de 44 a 40 (y luego 38) bytes y agregó la siguiente parte a su respuesta, con un enlace a ese comentario original de @Optimizer :
Este fue el comienzo de un meme de encadenamiento de respuestas , donde todos tacharon 44 (y en algunas ocasiones 4 o 444) vinculados al anterior.
Luego, el 8 de abril de 2017 (no estoy seguro de si esta fue la primera respuesta para hacerlo, pero es la primera que pude encontrar), @JonathanAllan mostró su respuesta de Python del 44 al 39. Sin embargo, usó <s> 44 </s>
el 44 se parece a esto: 44 , y agregó lo siguiente a su respuesta:
Tachado & nbsp; 44 & nbsp; ya no es 44 :)
Y ese fue básicamente el (principio del) final del meme.
Desafío
En cuanto a este desafío: dada una lista de enteros positivos y una fecha, genera la lista separada por comas y espacios donde cada número, excepto el último, se coloca entre las <s>...</s>
etiquetas.
Además, si alguno de los números tachados está en la secuencia [4, 44, 444, 4444, ...]
( A00278 en oeis.org ):
- Si la fecha es anterior al 8 de abril de 2017: también envíe el texto exacto (todo en minúscula y con emoticón de punto y coma)
crossed out N is still regular N ;(
(queN
es el número tachado de la secuencia) en una segunda línea. - Si la fecha es el 8 de abril de 2017 o posterior: el número tachado
N
de la secuencia debe tener el inicio y el final
agregados. No se necesitan líneas de salida adicionales.
Ejemplos:
Entrada: list = [50, 48, 44, 41]
, date = January 1st, 2017
Salida:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Entrada: list = [500, 475, 444, 301, 248]
, date = June 2nd, 2018
Salida:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Reglas de desafío:
- Puede suponer que la lista de entrada es una lista ordenada de mayor a menor, que solo contiene enteros positivos. En realidad, un recuento de bytes también puede aumentar debido a las correcciones de errores, pero en aras de este desafío, pretendemos que solo disminuya.
- Puede suponer que solo un número de la secuencia
[4, 44, 444, 4444, ...]
está presente en la lista de entrada (si existe). - El formato de salida se imprime en STDOUT o se devuelve como una cadena (o matriz de caracteres / lista / matriz 2D si eso es preferible). Una nueva línea final es, por supuesto, opcional.
- El formato de salida es estricto.
<s>...</s>
es obligatorio; ...
es obligatorio;", "
(coma y espacio) es obligatorio; y\ncrossed out ... is still regular ... ;(
exactamente es obligatorio (en una línea separada). - Puede tomar la fecha de entrada como objetos de fecha; marcas de tiempo; enteros sueltos para año, mes y día; un solo número en el formato
yyyyMMdd
; días enteros desde el 31 de diciembre de 1899 (que sería42832
para el 8 de abril de 2017); o cualquier otro formato de entrada razonable. La declaración if de fecha no es la mayor parte de este desafío. - La lista de enteros de entrada también puede ser una lista de cadenas si lo desea.
- No tienes que agregar el
<sup>...</sup>
etiquetas a lacrossed out ... is still regular ... ;(
línea, ya que generalmente se hace con las respuestas reales de los memes. - Puede suponer que la lista de entrada nunca contendrá recuentos de bytes fuera del
[1, 50000]
rango (por lo que solo tendrá{4, 44, 444, 4444, 44444}
que preocuparse por estos cinco ).
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, se recomienda agregar una explicación para su respuesta.
Casos de prueba:
Input: [50, 48, 44, 41] and January 1st, 2017
Output:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Input: [500, 475, 444, 301, 248] and June 2nd, 2018
Output:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Input: [8, 6, 4] and December 5th, 2017
Output:
<s>8</s>, <s>6</s>, 4
Input: [8, 6, 4, 3, 2] and September 15th, 2015
Output:
<s>8</s>, <s>6</s>, <s>4</s>, <s>3</s>, 2
crossed out 4 is still regular 4 ;(
Input: [119, 99, 84, 82, 74, 60, 51, 44, 36, 34] and February 29th, 2016
Output:
<s>119</s>, <s>99</s>, <s>84</s>, <s>82</s>, <s>74</s>, <s>60</s>, <s>51</s>, <s>44</s>, <s>36</s>, 34
crossed out 44 is still regular 44 ;(
Input: [404, 123, 44] and March 4th, 2016
Output:
<s>404</s>, <s>123</s>, 44
Input: [4, 3] and April 8th, 2017
Output:
<s> 4 </s>, 3
Input: [44] and October 22nd, 2017
Output:
44
Input: [50000, 44444, 1500] and August 1st, 2018
Output:
<s>50000</s>, <s> 44444 </s>, 1500
Input: 50, 38, 23 and September 8th, 2001
Output:
<s>50</s>, <s>38</s>, 23
1889-12-31
, ¿podemos también tomar días desde entonces2017-04-08
?Respuestas:
Jalea ,
444,94, 93 bytesUn programa completo Las entradas son una lista de cadenas y una fecha tomada como días enteros desde enero del primer 1970 (lo que hace de 17264 el 8 de abril de 2017)
Pruébalo en línea!
¿Cómo?
fuente
Python 2 ,
208204203201197 bytesToma la entrada como una lista de cadenas y un int de
yyyymmDD
Pruébalo en línea!
fuente
Excel VBA, 217 bytes
Función de ventana inmediata VBE que toma la matriz de entrada del rango
[A:A]
y la fecha del rango[B1]
y las salidas a la consola.No golfista y comentado
-2 bytes para cambiar el formato de fecha a
YYYYMMDD
-1 byte para comparar
42832
(valor int para07 Apr 2017
), gracias @Neil-2 bytes para eliminar
1,
de laInStr
declaración, gracias @ SeaDoggie01fuente
For i=1To~-c
lugar deFor i=1To c-1
no es posible en Excel VBA? Si recuerdo correctamente, Bitwise no es enNot
lugar de~
, ¿o son ambos posibles? (Tenga en cuenta que no sé casi nada de Excel VBA, así que probablemente estoy diciendo algo estúpido aquí; p)Not
, así que no~
:(42832
(el valor entero de 2017-04-07).Retina 0.8.2 , 130 bytes
Pruébalo en línea! El enlace incluye casos de prueba. Utiliza sellos de fecha de Excel (días desde 1899-12-31 pero incluyendo 1900-02-49). 141 bytes para una versión que toma fechas ISO:
Pruébalo en línea! El enlace incluye casos de prueba. Explicación:
Agregue la fecha de corte a la entrada.
Ordenar las fechas. Si la fecha dada es en o después de la fecha límite, entonces la primera fecha será la fecha límite.
En ese caso, envuelva el
4+
in
(usando dos etapas ya que guarda un byte).Eliminar las fechas ya que han hecho su trabajo.
Si hay un espacio sin espacio
4+
, entonces agregue el meme.Elimine todos los recuentos de bytes obsoletos.
fuente
-
.April 8th, 2017
, realmente no me importa. No es la mayor parte de este desafío.42832
para el 8 de abril de 2017, supongo.Ruby,
208184180 bytesPrueba de TIO
¡Gracias por @KevinCruijssen por guardar 2 bytes!
Es una función lambda que toma una lista de números y un número entero como fecha en el formato de
YYYYmmdd
.fuente
?
. Además, para su TIO, puede dividir su código de envío real y el código de prueba con el encabezado / pie de página, de esta manera . :)JavaScript, 194 bytes
Mostrar fragmento de código
fuente
Haskell , 227 bytes
Pruébalo en línea! Ejecutar
f
con listal
y fechad
. 42832 es la fecha de cambio.fuente
JavaScript (Node.js) , 173 bytes
Pruébalo en línea!
Usar sintaxis de curry
f(array)(js_timestamp)
fuente