pengantar
Pada 24 Maret 2015 @isaacg golfed jawabannya Pyth nya 44-42 byte. Karena tanda silang 44 ( 44 ) sangat mirip dengan 44 biasa, @Optimizer membuat komentar berikut:
Setelah itu, pada tanggal 21 Oktober 2015, @ Doorknob ♦ mengirim jawaban Rubynya dari 44 menjadi 40 (dan kemudian 38) byte dan menambahkan bagian berikut ke jawabannya, dengan tautan ke komentar asli @Optimizer :
Ini adalah awal dari meme rantai jawaban , di mana setiap tanda dicoret 44 (dan dalam beberapa kesempatan 4 atau 444) dihubungkan kembali ke yang sebelumnya.
Kemudian pada tanggal 8 April 2017 (saya tidak yakin apakah ini adalah jawaban pertama untuk melakukannya, tetapi ini adalah jawaban yang paling awal yang bisa saya temukan), @Jonathan Allan mengayunkan jawaban Python-nya dari 44 menjadi 39. Namun ia menggunakan <s> 44 </s>
sehingga 44 akan terlihat seperti ini: 44 , dan menambahkan yang berikut ke jawabannya:
Dicoret & nbsp; 44 & nbsp; tidak lagi 44 :)
Dan itu pada dasarnya adalah (awal dari) akhir meme.
Tantangan
Adapun tantangan ini: Diberikan daftar bilangan bulat positif dan tanggal, hasilkan daftar koma dan spasi dipisahkan di mana setiap angka kecuali untuk yang terakhir ditempatkan di antara <s>...</s>
tag.
Selain itu, jika ada nomor yang dicoret di urutan [4, 44, 444, 4444, ...]
( A00278 pada oeis.org ):
- Jika tanggal sebelum 8 April 2017: Keluarkan juga teks yang tepat (semua huruf kecil dan dengan titik koma)
crossed out N is still regular N ;(
(N
menjadi nomor yang dicoret dari urutan) pada baris kedua. - Jika tanggalnya adalah 8 April 2017 atau lebih baru: Nomor yang dicoret
N
dari urutan harus memiliki garis depan dan belakang yang
ditambahkan. Tidak perlu untuk jalur output tambahan.
Contoh:
Input: list = [50, 48, 44, 41]
, date = January 1st, 2017
Output:
<s>50</s>, <s>48</s>, <s>44</s>, 41
crossed out 44 is still regular 44 ;(
Input: list = [500, 475, 444, 301, 248]
, date = June 2nd, 2018
Output:
<s>500</s>, <s>475</s>, <s> 444 </s>, <s>301</s>, 248
Aturan tantangan:
- Anda dapat menganggap daftar input adalah daftar yang diurutkan dari yang terbesar hingga yang terkecil, hanya berisi bilangan bulat positif. Pada kenyataannya, byte-count juga bisa naik karena perbaikan bug, tetapi untuk tantangan ini kami berpura-pura bahwa itu hanya turun.
- Anda dapat mengasumsikan hanya satu nomor dari urutan
[4, 44, 444, 4444, ...]
yang ada dalam daftar input (jika ada). - Format output dicetak ke STDOUT, atau dikembalikan sebagai string (atau array karakter / daftar / 2D-array jika itu lebih disukai). Newline tambahan tentu saja opsional.
- Format outputnya ketat.
<s>...</s>
wajib; ...
wajib;", "
(koma dan spasi) wajib; dan\ncrossed out ... is still regular ... ;(
sebenarnya wajib (pada jalur yang terpisah). - Anda dapat mengambil tanggal input sebagai objek tanggal; cap waktu; bilangan bulat longgar untuk tahun, bulan, dan hari; satu nomor dalam format
yyyyMMdd
; hari bilangan bulat sejak 31 Desember 1899 (yang akan berlaku42832
untuk 8 April 2017); atau format input wajar lainnya. Tanggal jika-pernyataan bukanlah bagian utama dari tantangan ini. - Input integer-list juga bisa menjadi daftar string jika Anda mau.
- Anda tidak perlu menambahkan
<sup>...</sup>
tag kecrossed out ... is still regular ... ;(
baris seperti yang biasanya dilakukan dengan jawaban meme yang sebenarnya. - Anda dapat berasumsi bahwa input-list tidak akan pernah mengandung byte-counts di luar
[1, 50000]
rentang (jadi Anda hanya perlu{4, 44, 444, 4444, 44444}
khawatirkan kelima ini ).
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
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
, bisakah kita juga mengambil hari sejak itu2017-04-08
?Jawaban:
Jelly ,
444,94, 93 byteProgram lengkap. Input adalah daftar string dan tanggal yang diambil sebagai bilangan bulat sejak Januari 1970 pertama (menjadikan 17264 April kedelapan 2017)
Cobalah online!
Bagaimana?
sumber
Python 2 ,
208204203201197 byteMengambil input sebagai daftar string, dan int
yyyymmDD
Cobalah online!
sumber
Excel VBA, 217 byte
Fungsi jendela langsung VBE yang mengambil array input dari jangkauan
[A:A]
, dan tanggal dari rentang[B1]
dan keluaran ke konsol.Tidak Disatukan dan Dikomentari
-2 byte untuk mengubah format tanggal menjadi
YYYYMMDD
-1 byte untuk membandingkan
42832
(nilai int07 Apr 2017
), Terima kasih @Neil-2 byte untuk menghapus
1,
dariInStr
pernyataan, Terima kasih @ SeaDoggie01sumber
For i=1To~-c
bukannyaFor i=1To c-1
tidak mungkin di Excel VBA? Jika saya ingat dengan benar, Bitwise bukankahNot
bukan~
, atau keduanya mungkin? (Perhatikan bahwa saya tidak tahu apa-apa tentang Excel VBA, jadi saya mungkin mengatakan sesuatu yang bodoh di siniNot
, jadi tidak~
:(42832
(nilai integer 2017-04-07).Retina 0.8.2 , 130 byte
Cobalah online! Tautan termasuk kasus uji. Menggunakan perangko tanggal Excel (hari sejak 1899-12-31 tetapi termasuk 1900-02-49). 141 byte untuk versi yang menggunakan tanggal ISO:
Cobalah online! Tautan termasuk kasus uji. Penjelasan:
Tambahkan tanggal batas ke input.
Sortir tanggalnya. Jika tanggal yang diberikan adalah pada atau setelah tanggal cut-off maka tanggal pertama akan menjadi tanggal cut-off.
Dalam hal ini, bungkus
4+
dalam
(menggunakan dua tahap karena menghemat satu byte).Hapus tanggal saat mereka melakukan pekerjaan mereka.
Jika ada spasi
4+
, lalu tambahkan meme.Hapus semua jumlah byte yang usang.
sumber
-
.April 8th, 2017
itu dilakukan, saya tidak begitu peduli. Ini bukan bagian utama dari tantangan ini.42832
untuk 8 April 2017 saya anggap?Ruby,
208184180 byteTes TIO
Terima kasih atas @KevinCruijssen karena telah menghemat 2 byte!
Ini adalah fungsi lambda yang mengambil daftar angka dan bilangan bulat sebagai tanggal dalam format
YYYYmmdd
.sumber
?
. Juga, untuk TIO Anda, Anda dapat membagi kode pengiriman dan kode pengujian Anda yang sebenarnya dengan header / footer, seperti ini . :)JavaScript, 194 byte
Tampilkan cuplikan kode
sumber
Haskell , 227 byte
Cobalah online! Jalankan
f
dengan daftarl
dan tanggald
. 42832 adalah tanggal perubahan.sumber
JavaScript (Node.js) , 173 byte
Cobalah online!
Menggunakan sintaks kari
f(array)(js_timestamp)
sumber