Introdução
Em 24 de março, 2015 @isaacg golfed sua resposta Pyth de 44 para 42 bytes. Como um 44 ( 44 ) riscado se parece muito com um 44 normal, o @Optimizer fez o seguinte comentário:
Depois disso, em 21 de outubro de 2015, o @ Doorknob golfou sua resposta Ruby de 44 para 40 (e depois 38) bytes e adicionou a seguinte parte à sua resposta, com um link para o comentário original do @Optimizer :
Este foi o começo de um meme de cadeia de respostas , em que todos riscavam 44 (e, em algumas ocasiões, 4 ou 444) estavam ligados ao anterior.
Então, em 8 de abril de 2017 (não tenho certeza se essa foi a primeira resposta a ser feita, mas é a mais antiga que pude encontrar), @ JonathanAllan jogou sua resposta em Python de 44 a 39. No entanto, ele usou <s> 44 </s>
as 44 tenha esta aparência: 44 e acrescentou o seguinte à sua resposta:
Riscado & nbsp; 44 & nbsp; já não é 44 :)
E esse foi basicamente o (começo do) fim do meme.
Desafio
Quanto a este desafio: Dada uma lista de números inteiros positivos e uma data, produza a lista separada por vírgula e espaço, onde cada número, exceto o último, é colocado entre as <s>...</s>
tags.
Além disso, se algum dos números riscados estiver na sequência [4, 44, 444, 4444, ...]
( A00278 em oeis.org ):
- Se a data for anterior a 8 de abril de 2017: também forneça o texto exato (em letras minúsculas e com emoticons de ponto e vírgula)
crossed out N is still regular N ;(
(N
sendo o número riscado da sequência) em uma segunda linha. - Se a data for 8 de abril de 2017 ou posterior: o número riscado
N
da sequência deve ter o início e o final
adicionados. Não há necessidade de linhas adicionais de saída.
Exemplos:
Entrada: list = [50, 48, 44, 41]
, date = January 1st, 2017
saída:
<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
saída:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Regras do desafio:
- Você pode assumir que a lista de entrada é uma lista classificada do maior para o menor, contendo apenas números inteiros positivos. Na realidade, uma contagem de bytes também pode aumentar devido a correções de bugs, mas, para o bem desse desafio, fingimos que ele só diminui.
- Você pode assumir que apenas um número da sequência
[4, 44, 444, 4444, ...]
esteja presente na lista de entrada (se houver). - O formato de saída é impresso em STDOUT ou retornado como uma sequência de caracteres (ou matriz de caracteres / lista / matriz 2D, se preferível). Uma nova linha à direita é obviamente opcional.
- O formato de saída é rigoroso.
<s>...</s>
é mandatório; ...
é mandatório;", "
(vírgula e espaço) é obrigatório; e\ncrossed out ... is still regular ... ;(
exatamente é obrigatório (em uma linha separada). - Você pode considerar a data de entrada como objetos de data; timestamps; solte números inteiros por ano, mês e dia; um único número no formato
yyyyMMdd
; dias inteiros desde 31 de dezembro de 1899 (que seria42832
em 8 de abril de 2017); ou qualquer outro formato de entrada razoável. A declaração if de data não é a parte principal desse desafio. - A lista inteira de entrada também pode ser uma lista de cadeias, se você desejar.
- Você não precisa adicionar as
<sup>...</sup>
tags àcrossed out ... is still regular ... ;(
linha, como geralmente é feito com as respostas reais dos memes. - Você pode assumir que a lista de entrada nunca conterá contagens de bytes fora do
[1, 50000]
intervalo (portanto, você terá apenas esses cinco{4, 44, 444, 4444, 44444}
com que se preocupar).
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados e programas completos do tipo retorno. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
- Além disso, é altamente recomendável adicionar uma explicação para sua resposta.
Casos de teste:
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
, também podemos levar dias desde então2017-04-08
?Respostas:
Gelatina ,
444,94, 93 bytesUm programa completo. As entradas são uma lista de seqüências de caracteres e uma data tirada como dias inteiros desde janeiro do primeiro de 1970 (tornando 17264 o oitavo de abril de 2017)
Experimente online!
Quão?
fonte
Python 2 ,
208204203201201bytesRecebe entrada como uma lista de strings e um int de
yyyymmDD
Experimente online!
fonte
Excel VBA, 217 bytes
Função de janela imediata do VBE que leva a matriz de entrada do intervalo
[A:A]
e data do intervalo[B1]
e saídas para o console.Sem Golfe e Comentado
-2 bytes para alterar o formato da data para
YYYYMMDD
-1 byte para comparar com
42832
(valor int07 Apr 2017
), Obrigado @Neil-2 bytes para remover
1,
daInStr
instrução, Obrigado @ SeaDoggie01fonte
For i=1To~-c
vez deFor i=1To c-1
não é possível no Excel VBA? Se bem me lembro, o Bitwise não é, emNot
vez de~
, ou ambos são possíveis? (Note que eu sei quase nada do Excel VBA, então eu provavelmente estou dizendo algo estúpido aqui; p.)Not
, de modo nenhum~
:(42832
(o valor inteiro de 2017-04-07).Retina 0.8.2 , 130 bytes
Experimente online! O link inclui casos de teste. Usa carimbos de data do Excel (dias desde 1899-12-31, mas incluindo 1900-02-49). 141 bytes para uma versão com datas ISO:
Experimente online! O link inclui casos de teste. Explicação:
Anexe a data de corte à entrada.
Classifique as datas. Se a data especificada for na ou após a data limite, a primeira data será a data limite.
Nesse caso, envolva o
4+
in
(usando dois estágios para salvar um byte).Exclua as datas como eles fizeram seu trabalho.
Se houver um espaço
4+
, anexe o meme.Risque todas as contagens de bytes obsoletas.
fonte
-
.April 8th, 2017
é feita, eu realmente não me importo. Não é a parte principal deste desafio.42832
para 8 de abril de 2017, presumo?Ruby,
208184180 bytesTeste TIO
Obrigado por @KevinCruijssen por economizar 2 bytes!
É uma função lambda que recebe uma lista de números e um número inteiro como uma data no formato de
YYYYmmdd
.fonte
?
. Além disso, para o seu TIO, você pode dividir o código de envio e o código de teste reais com o cabeçalho / rodapé, assim . :)JavaScript, 194 bytes
Mostrar snippet de código
fonte
Haskell , 227 bytes
Experimente online! Execute
f
com listal
e datad
. 42832 é a data da mudança.fonte
JavaScript (Node.js) , 173 bytes
Experimente online!
Usando sintaxe curry
f(array)(js_timestamp)
fonte