Wprowadzenie
24 marca 2015 r. @Isaacg grał w golfa swoją odpowiedź w języku Pyth od 44 do 42 bajtów. Ponieważ przekreślony 44 ( 44 ) wygląda bardzo podobnie do zwykłego 44, @Optimizer dodał następujący komentarz:
Następnie, 21 października 2015 r., @ Doorknob ♦ grał w golfa swoją odpowiedź Rubiego od 44 do 40 (a później 38) bajtów i dodał do odpowiedzi następującą część, wraz z linkiem do tego oryginalnego komentarza @Optimizer :
To był początek memu łączącego odpowiedzi , w którym każdy z nich przekreślił 44 (a czasem 4 lub 444) powiązane z poprzednim.
Następnie, 8 kwietnia 2017 r. (Nie jestem pewien, czy to była pierwsza odpowiedź, ale jest to pierwsza, jaką mogłem znaleźć), @JathanathanAllan grał w golfa swoją odpowiedź w Pythonie od 44 do 39. Jednak użył <s> 44 </s>
tak, by 44 wyglądają tak: 44 i dodał do swojej odpowiedzi:
Przekreślony & nbsp; 44 & nbsp; nie ma już 44 :)
I to był w zasadzie (początek) końca memu.
Wyzwanie
Jeśli chodzi o to wyzwanie: biorąc pod uwagę listę dodatnich liczb całkowitych i datę, wypisz listę przecinek i spację oddzielone, gdzie każda liczba oprócz ostatniej jest umieszczona między <s>...</s>
znacznikami.
Ponadto, jeśli którakolwiek z przekreślonych liczb jest w sekwencji [4, 44, 444, 4444, ...]
( A00278 na oeis.org ):
- Jeśli data przypada przed 8 kwietnia 2017 r .: W drugim wierszu wypisz również dokładny (wszystkie małe litery i emotikony ze średnikiem)
crossed out N is still regular N ;(
(N
będący przekreśloną liczbą z sekwencji). - Jeśli data jest 8 kwietnia 2017 r. Lub później: do przekreślonej liczby
N
z sekwencji należy
dodać wiodącą i końcową liczbę . Nie potrzeba żadnych dodatkowych linii wyników.
Przykłady:
Wejście: list = [50, 48, 44, 41]
, date = January 1st, 2017
Wyjście:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Wejście: list = [500, 475, 444, 301, 248]
, date = June 2nd, 2018
Wyjście:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Zasady konkursu:
- Możesz założyć, że lista wejściowa jest posortowaną listą od największej do najmniejszej, zawierającą tylko dodatnie liczby całkowite. W rzeczywistości liczba bajtów może również wzrosnąć z powodu poprawek błędów, ale ze względu na to wyzwanie udajemy, że spada.
- Możesz założyć tylko jeden numer z sekwencji
[4, 44, 444, 4444, ...]
jest obecna na liście wprowadzania (jeśli istnieje). - Format wyjściowy jest drukowany do STDOUT lub zwracany jako ciąg znaków (lub tablica znaków / lista / tablica 2D, jeśli jest to preferowane). Końcowy znak nowej linii jest oczywiście opcjonalny.
- Format wyjściowy jest ścisły.
<s>...</s>
jest obowiązkowe; ...
jest obowiązkowe;", "
(przecinek i spacja) jest obowiązkowe; i\ncrossed out ... is still regular ... ;(
dokładnie jest to obowiązkowe (w oddzielnej linii). - Możesz wziąć datę wejścia jako obiekty daty; znaczniki czasu; luźne liczby całkowite dla roku, miesiąca i dnia; pojedynczy numer w formacie
yyyyMMdd
; dni całkowite od 31 grudnia 1899 r. (czyli42832
8 kwietnia 2017 r.); lub inny rozsądny format wejściowy. Oświadczenie if-date nie jest główną częścią tego wyzwania. - Wejściowa lista liczb całkowitych może również być listą ciągów, jeśli chcesz.
- Nie musisz dodawać
<sup>...</sup>
tagów docrossed out ... is still regular ... ;(
linii, jak to zwykle robi się z rzeczywistymi odpowiedziami memów. - Możesz założyć, że lista wejściowa nigdy nie będzie zawierała liczby bajtów poza
[1, 50000]
zakresem (więc będziesz musiał{4, 44, 444, 4444, 44444}
martwić się tylko tymi pięcioma ).
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i zwracanymi typami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- Zalecane jest również dodanie wyjaśnienia do odpowiedzi.
Przypadki testowe:
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
, to czy możemy również brać te dni od tego czasu2017-04-08
?Odpowiedzi:
Galaretka ,
444,94, 93 bajtówPełny program. Dane wejściowe to lista ciągów znaków i data przyjęta jako liczba całkowita od pierwszego stycznia 1970 roku (co oznacza, że 17264 kwietnia jest ósmym 2017)
Wypróbuj online!
W jaki sposób?
źródło
Python 2 ,
208204203201197 bajtówPobiera dane wejściowe jako listę ciągów i liczbę całkowitą
yyyymmDD
Wypróbuj online!
źródło
Excel VBA, 217 bajtów
Funkcja bezpośredniego okna VBE, która pobiera tablicę wejściową z zakresu
[A:A]
i datę z zakresu[B1]
i danych wyjściowych do konsoli.Niegolfowany i komentowany
-2 bajty na zmianę formatu daty na
YYYYMMDD
-1 bajt za porównanie z
42832
(wartość int dla07 Apr 2017
), Dzięki @Neil-2 bajty do usunięcia
1,
zInStr
instrukcji Thanks @ SeaDoggie01źródło
For i=1To~-c
zamiast tegoFor i=1To c-1
nie jest możliwe w Excel VBA? Jeśli dobrze pamiętam, Bitwise nie jestNot
zamiast~
lub czy oba są możliwe? (Zauważ, żeNot
, więc nie~
:(42832
(wartość całkowita z dnia 2017-04-07).Retina 0.8.2 , 130 bajtów
Wypróbuj online! Link zawiera przypadki testowe. Wykorzystuje datowniki Excela (dni od 1899-12-31, ale włącznie z 1900-02-49). 141 bajtów dla wersji, która pobiera daty ISO:
Wypróbuj online! Link zawiera przypadki testowe. Wyjaśnienie:
Dołącz datę graniczną do danych wejściowych.
Sortuj daty. Jeśli podana data przypada na datę graniczną lub później, data pierwsza będzie datą graniczną.
W tym przypadku, owinąć
4+
w
(stosując dwa etapy, ponieważ oszczędza bajt).Usuń daty, kiedy wykonali swoją pracę.
Jeśli nie ma odstępu
4+
, dodaj mema.Skreśl wszystkie przestarzałe liczby bajtów.
źródło
-
.April 8th, 2017
to się dzieje z instrukcją if dla tej daty , nie obchodzi mnie to. To nie jest główna część tego wyzwania.42832
na 8 kwietnia 2017 r., Zakładam?Rubinowy,
208184180 bajtówTest TIO
Dzięki za @KevinCruijssen za uratowanie 2 bajtów!
Jest to funkcja lambda, która przyjmuje listę liczb i liczbę całkowitą jako datę w formacie
YYYYmmdd
.źródło
?
. Ponadto w przypadku TIO możesz podzielić swój rzeczywisty kod przesłania i kod testowy za pomocą nagłówka / stopki, w ten sposób . :)JavaScript, 194 bajty
Pokaż fragment kodu
źródło
Haskell , 227 bajtów
Wypróbuj online! Uruchom
f
z listąl
i datąd
. 42832 to zmieniająca się data.źródło
JavaScript (Node.js) , 173 bajtów
Wypróbuj online!
Korzystanie ze składni curry
f(array)(js_timestamp)
źródło