Вступление
24 марта 2015 года @isaacg добавил свой ответ Pyth с 44 до 42 байтов. Поскольку вычеркнутая 44 ( 44 ) очень похожа на обычную 44, @Optimizer сделал следующий комментарий:
После этого, 21 октября 2015 года, @ Doorknob ♦ обработал свой ответ Ruby с 44 до 40 (и более поздних 38) байтов и добавил следующую часть в свой ответ со ссылкой на этот оригинальный комментарий @Optimizer :
Это было начало мема цепочки ответов , где каждый зачеркнутый 44 (а в некоторых случаях 4 или 444) был связан с предыдущим.
Затем, 8 апреля 2017 года (я не уверен, что это был первый ответ, но это самый ранний ответ, который я смог найти), @JonathanAllan проиграл свой ответ на Python с 44 по 39. Однако он использовал <s> 44 </s>
44 выглядеть следующим образом: 44 , и добавил следующее к своему ответу:
Вычеркнуто 44 & NBSP; больше не 44 :)
И это было в основном (начало) конца мема.
Вызов
Что касается этой задачи: учитывая список натуральных чисел и дату, выведите список через запятую, разделенный пробелом, где каждое число, кроме последнего, находится между <s>...</s>
тегами.
Кроме того, если любое из перечеркнутых чисел находится в последовательности [4, 44, 444, 4444, ...]
( A00278 на oeis.org ):
- Если дата до 8 апреля 2017 года: также выведите точный текст
crossed out N is still regular N ;(
( все строчные и с точкой с запятой) (N
) во второй строке это перечеркнутый номер из последовательности). - Если дата 8 апреля 2017 года или позже: зачеркнутый номер
N
из последовательности должен иметь начальные и конечные
знаки. Не нужно никаких дополнительных строк вывода.
Примеры:
Вход: list = [50, 48, 44, 41]
, date = January 1st, 2017
выход:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Вход: list = [500, 475, 444, 301, 248]
, date = June 2nd, 2018
выход:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Правила соревнований:
- Можно предположить, что входной список представляет собой отсортированный список от наибольшего к наименьшему, содержащий только положительные целые числа. На самом деле количество байт также может увеличиваться из-за исправлений ошибок, но ради этого вызова мы притворяемся, что оно только снижается.
- Можно предположить, что
[4, 44, 444, 4444, ...]
во входном списке присутствует только одно число из последовательности (если есть). - Выходной формат либо печатается в STDOUT, либо возвращается в виде строки (или символьного массива / списка / 2D-массива, если это предпочтительно). Завершающий перевод строки, конечно, не является обязательным.
- Формат вывода строгий.
<s>...</s>
является обязательным; ...
является обязательным;", "
(запятая и пробел) является обязательным; и\ncrossed out ... is still regular ... ;(
именно обязательно (на отдельной строке). - Вы можете принять входную дату как объекты даты; метки времени; свободные целые числа для года, месяца и дня; одно число в формате
yyyyMMdd
; целые дни с 31 декабря 1899 года (42832
8 апреля 2017 года); или любой другой разумный формат ввода. Дата if-Statement не является основной частью этой задачи. - Входной целочисленный список также может быть списком строк, если хотите.
- Вам не нужно добавлять
<sup>...</sup>
теги кcrossed out ... is still regular ... ;(
строку, как это обычно делается с реальными ответами на мемы. - Вы можете предположить, что входной список никогда не будет содержать счетчиков байтов за пределами
[1, 50000]
диапазона (поэтому вам придется{4, 44, 444, 4444, 44444}
беспокоиться только об этих пяти ).
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами и типом возврата, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Кроме того, добавление объяснения для вашего ответа настоятельно рекомендуется.
Тестовые случаи:
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
, можем ли мы также принимать дни с тех пор2017-04-08
?Ответы:
Желе ,
444,94, 93 байтаПолная программа. Входными данными являются список строк и дата, взятые как целые дни с января первого 1970 года (17264 апреля восьмого 2017 года)
Попробуйте онлайн!
Как?
источник
Python 2 ,
208204203201197 байтовПринимает ввод в виде списка строк и целого числа
yyyymmDD
Попробуйте онлайн!
источник
Excel VBA, 217 байт
Функция непосредственного окна VBE, которая берет входной массив из диапазона
[A:A]
и дату из диапазона[B1]
и выводит на консоль.Ungolfed и комментируется
-2 байта для изменения формата даты на
YYYYMMDD
-1 байт для сравнения с
42832
(значение int для07 Apr 2017
), спасибо @Neil-2 байта для удаления
1,
изInStr
утверждения, спасибо @ SeaDoggie01источник
For i=1To~-c
аFor i=1To c-1
не возможно в Excel VBA? Если я правильно помню, Bitwise not isNot
вместо~
или возможны оба варианта? (Обратите внимание, что я почти ничего не знаю об Excel VBA, поэтому я, вероятно, говорю здесь что-то глупое.; P)Not
, так что нет~
:(42832
(целочисленное значение 2017-04-07).Сетчатка 0.8.2 , 130 байт
Попробуйте онлайн! Ссылка включает в себя тестовые случаи. Использует отметки даты Excel (дни с 1899-12-31, но в том числе 1900-02-49). 141 байт для версии, которая принимает даты ISO:
Попробуйте онлайн! Ссылка включает в себя тестовые случаи. Объяснение:
Добавьте дату отсечения ко входу.
Сортировать даты. Если указанная дата наступает в день или после даты закрытия, то первой датой будет дата окончания.
В этом случае, обернуть
4+
в
(используя два этапа , как это экономит байты).Удалить даты, как они сделали свою работу.
Если есть свободное пространство
4+
, добавьте мем.Вычеркните все устаревшие значения байтов.
источник
-
.April 8th, 2017
делается if-заявление на дату, мне все равно. Это не основная часть этой проблемы.42832
8 апреля 2017 года?Рубин,
208184180 байтTIO-тест
Спасибо за @KevinCruijssen за сохранение 2 байта!
Это лямбда-функция, которая принимает список чисел и целое число в качестве даты в формате
YYYYmmdd
.источник
?
. Кроме того, для вашего TIO вы можете разделить действительный код отправки и тестовый код с помощью верхнего / нижнего колонтитула, как это . :)JavaScript, 194 байта
Показать фрагмент кода
источник
Haskell , 227 байт
Попробуйте онлайн! Запустите
f
со спискомl
и датойd
. 42832 - это дата изменения.источник
JavaScript (Node.js) , 173 байта
Попробуйте онлайн!
Использование синтаксиса карри
f(array)(js_timestamp)
источник