introduzione
Il 24 marzo 2015 @isaacg ha giocato a golf la sua risposta Pyth da 44 a 42 byte. Poiché un 44 ( 44 ) barrato assomiglia molto a un normale 44, @Optimizer ha fatto il seguente commento:
Dopodiché, il 21 ottobre 2015, @ Doorknob ♦ ha golfato la sua risposta di Ruby da 44 a 40 (e successivamente 38) byte e ha aggiunto la parte seguente alla sua risposta, con un collegamento a quel commento originale di @Optimizer :
Questo è stato l'inizio di un meme incatenato alla risposta , in cui ognuno ha barrato 44 (e in alcune occasioni 4 o 444) collegati al precedente.
Quindi l'8 aprile 2017 (non sono sicuro che questa sia stata la prima risposta a farlo, ma è la prima che ho potuto trovare), @JonathanAllan ha giocato a golf con la sua risposta Python dal 44 al 39. Ha comunque usato <s> 44 </s>
così 44 assomigliare a questo: 44 e ha aggiunto quanto segue alla sua risposta:
Barrato & nbsp; 44 & nbsp; non ha più 44 anni :)
E quella era sostanzialmente la (inizio della) fine del meme.
Sfida
Per quanto riguarda questa sfida: dato un elenco di numeri interi positivi e una data, genera l'elenco separato da virgola e spazio dove ogni numero tranne l'ultimo è posto tra i <s>...</s>
tag.
Inoltre, se uno dei numeri barrati è nella sequenza [4, 44, 444, 4444, ...]
( A00278 su oeis.org ):
- Se la data è precedente all'8 aprile 2017: genera anche il testo esatto (tutto minuscolo e con punto e virgola)
crossed out N is still regular N ;(
(cheN
è il numero barrato dalla sequenza) su una seconda riga. - Se la data è l'8 aprile 2017 o successiva: il numero barrato
N
dalla sequenza dovrebbe essere
aggiunto all'inizio e alla fine . Non sono necessarie ulteriori linee di output.
Esempi:
Ingresso: list = [50, 48, 44, 41]
, date = January 1st, 2017
Uscita:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Ingresso: list = [500, 475, 444, 301, 248]
, date = June 2nd, 2018
Uscita:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Regole della sfida:
- Si può presumere che l'elenco di input sia un elenco ordinato dal più grande al più piccolo, contenente solo numeri interi positivi. In realtà un conteggio di byte può anche aumentare a causa di correzioni di bug, ma per il bene di questa sfida facciamo finta che non funzioni.
- Puoi presumere che un solo numero dalla sequenza
[4, 44, 444, 4444, ...]
sia presente nella lista di input (se presente). - Il formato di output viene stampato su STDOUT o restituito come stringa (o array di caratteri / elenco / array 2D se preferibile). Una nuova riga finale è ovviamente facoltativa.
- Il formato di output è rigoroso.
<s>...</s>
è obbligatorio; ...
è obbligatorio;", "
(virgola e spazio) è obbligatorio; ed\ncrossed out ... is still regular ... ;(
è assolutamente obbligatorio (su una linea separata). - Puoi prendere la data di input come data-oggetti; timestamp; numeri interi sciolti per anno, mese e giorno; un singolo numero nel formato
yyyyMMdd
; giorni interi dal 31 dicembre 1899 (che sarebbe42832
l'8 aprile 2017); o qualsiasi altro formato di input ragionevole. La data if-statement non è la parte principale di questa sfida. - L'elenco intero di input può anche essere un elenco di stringhe, se lo si desidera.
- Non è necessario aggiungere i
<sup>...</sup>
tag allacrossed out ... is still regular ... ;(
riga come di solito si fa con le risposte effettive del meme. - Puoi presumere che l'elenco di input non conterrà mai conteggi di byte al di fuori
[1, 50000]
dell'intervallo (quindi avrai solo questi cinque{4, 44, 444, 4444, 44444}
di cui preoccuparti).
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si consiglia vivamente di aggiungere una spiegazione per la risposta.
Casi test:
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
, possiamo anche prendere giorni da allora 2017-04-08
?