Kecuali jika Anda memiliki skrip pengguna yang mengubah desain situs (atau bahkan jika demikian), Anda seharusnya memperhatikan bahwa kami memiliki desain situs kami!
Jadi, untuk merayakannya, mari buat program yang surut menerapkan desain ini (terlalu disederhanakan, tentu saja)!
Jadi, perubahan yang paling penting adalah:
- nama baru kami sekarang Code Golf dan Tantangan Pengkodean
- situs kami tidak lagi menjadi warna biru default dan sebagai gantinya adalah hijau tua yang bagus
Jadi, diberi string, ubah:
PPCG
untukCGCC
Programming Puzzles {non-whitespace} Code Golf
untukCode Golf {same-thing} Coding Challenges
(misalnya,Programming Puzzles + Code Golf
,and Code Golf
, dan& Code Golf
semua akan berubah menjadiCode Golf + Coding Challenges
,and Coding Challenges
, dan& Coding Challenges
.#abc
untuk#acb
(menukar biru ke hijau dan sebaliknya - abaikan saja fakta bahwa hijau tidak seharusnya menjadi biru, tetapi saya tidak ingin mempersulit pemindahan warna)#abcdef
ke#abefcd
(sama seperti di atas)
Perhatikan bahwa untuk swap warna, Anda harus menerima digit heksadesimal dari 0-9
hingga a-f
. Anda dapat memilih case hex digit apa yang diperlukan, tetapi harus konsisten dan sama dari input ke output.
Penggantian Anda dapat peka huruf besar-kecil, dan jika tidak, harap tentukan cara kerja output.
Pergantian hanya terjadi ketika string dikelilingi oleh batas kata (termasuk awal #
). Dengan kata lain, masing-masing pengganti yang ditentukan hanya akan terjadi jika kecocokan berada di tepi string atau dibatasi oleh karakter non-alfanumerik (di kedua sisi).
Celah standar berlaku. Ini adalah tantangan kode-golf, jadi kode terpendek menang!
Contohnya
PPCG -> CGCC
Programming Puzzles or Code Golf -> Code Golf or Coding Challenges
PPCG stands for Programming Puzzles and Code Golf and its site color is #abf -> CGCC stands for Code Golf and Coding Challenges and its site color is #afb
The color #00f is much more intense than #5568ed -> The color #0f0 is much more intense than #55ed68
Programming Puzzles and No Substitution -> Programming Puzzles and No Substitution
No Substitution and Code Golf -> No Substitution and Code Golf
Programming Puzzles and no substitution Code Golf -> Programming Puzzles and no substitution Code Golf
Code Golf and Programming Puzzles -> Code Golf and Programming Puzzles
Programming Puzzles and Programming Puzzles and Code Golf -> Programming Puzzles and Code Golf and Coding Challenges
(untuk kasus uji terakhir, penting untuk dicatat bahwa string yang diterjemahkan dapat diterjemahkan lagi tetapi transformasi harus diterapkan tepat satu kali)
Pembaruan Penting
(Terima kasih @tsh)
The Programming Puzzles ... Code Golf
Aturan substitusi dapat mencakup aturan lain di dalamnya ( Programming Puzzles PPCG Code Golf
berlaku). Dalam hal ini, Anda dapat memilih apakah aturan diterapkan atau tidak, tetapi harus bersifat deterministik. Saya tidak meminta Anda untuk konsisten di antara PPCG
dan #...
karena jawaban tampaknya menerapkan aturan dalam daftar pesanan saya yang menghasilkan inkonsistensi. Ini hanya klarifikasi; Saya percaya semua jawaban saat ini tetap valid.
Programming Puzzles and no substitution Code Golf
mungkin juga menangkap seseorang (meskipun semua orang menggunakan regex valid yang sama)Code Golf and Programming Puzzles
danProgramming Puzzles and Programming Puzzles and Code Golf
. @ Veska Hmm, dan saya pikir test case yang disarankan terakhir gagal dalam jawaban 05AB1E saya, karena saya tidak punya regex ..>. <Kembali ke papan gambar ..Jawaban:
Ruby
-p
,165164159 byteItu akhirnya menjadi sangat mirip dengan jawaban sed, tetapi menyalahgunakan interpolasi string Ruby untuk menduplikasi pencocokan kelompok hex
([\da-f]{1,2})
dalam regex ketiga tiga kali alih-alih perlu mengulangi semuanya lagi.Cobalah online!
sumber
{1,2}
break dengan input hex panjang 4 atau 5, misalnya#aabbc
? Sunting: ya (contoh ini tidak boleh diganti karena ini bukan warna hex yang valid).-
adalah karakter non-alfanumerik).#
sedikit ambigu karena/\b/
tidak mendaftar dengan itu di sebelah non-alfanumerik, tapi saya melakukan perubahan lagian untuk tidak ada perubahan byte (ganti\S
dengan\w
)(?<!\w)
dengan milikku(^|\W)
untuk 1 char?C ++ (gcc) ,
270285283 byteTerima kasih kepada Neil karena menunjukkan bug.
-2 bytes berkat ceilingcat.
Cobalah online!
sumber
#fade
- motong dan#faced
yang seharusnya tidak.Retina 0.8.2 ,
153130 byteCobalah online! Tautan termasuk kasus uji. Semua penggantian adalah case sensitif. Asumsikan karakter kata regex normal dapat diterima sehingga
\B#
hanya cocok dengan huruf yang#
tidak mengikuti karakter kata. Sunting: Disimpan 22 byte berkat @tsh.sumber
\B#(?=([\da-f]{3}){1,2}\b)(.+?)(..??)(..??)\b
?GNU sed
-E
, 198 karakterDapat dijalankan menggunakan mis
sed -E 'the above'
; baris baru dapat dimasukkan secara harfiah, atau diganti dengan;
jika diinginkan. Keduanya bekerja.@HyperNeutrino, ayolah aturan batas kata itu bodoh. Lihat apa yang harus saya lakukan dalam
#
kasus ini.Ya, saya bahkan tidak mencoba. : P
+9 oleh @Nilai Tinta
sumber
-E
" sebagai gantinya.sed
pencocokan regex tidak boleh digunakan\d
sebagai jalan pintas0-9
? bisa menghemat 6 byte secara keseluruhanStax , 85 byte
Jalankan dan debug itu
sumber
05AB1E ,
123109105110114 byte+5 byte memperbaiki kasus uji seperti
Programming Puzzles and no substitution Code Golf
danProgramming Puzzles and Programming Puzzles and Code Golf
.+4 byte memperbaiki kasus uji seperti
color-#00f
(warna dengan sesuatu selain spasi / baris baru di sekitarnya). Terima kasih kepada @Grimy karena membawa ini menjadi perhatian saya.Hal - hal sensitif. Nilai heksadesimal adalah dengan huruf kecil
abcdef
;Programming Puzzles ... Code Golf
ada di titlecase;PPCG
dalam huruf besar penuh.Cobalah online.
Jelas bukan bahasa yang tepat untuk pekerjaan itu. Meniru batasan kata dan mengganti kata
Programming Puzzles \S+ Code Golf
, tetapi tidakCode Golf \S+ Programming Puzzles
atauProgramming Puzzles \S+ \S+ Code Golf
tanpa regex cukup sulit (untuk melakukan singkat) ..>.>Penjelasan:
Lihat ini 05AB1E ujung tambang (bagian Cara menggunakan kamus? ) Untuk memahami mengapa
”–±ÇÀ”
adalah"Programming Puzzles"
;”ƒËŠˆ”
adalah"Code Golf"
; dan”Âïªï”
adalah"Coding Challenges"
.sumber
Python 2 , 240 byte
Cobalah online!
sumber
JavaScript (Node.js) , 174 byte
Cobalah online!
sumber
#abcde
karena kualifikasi regex{3,6}
cocok antara 3 dan 6 karakter, alih-alih 3 atau 6 yang saya anggap Anda inginkan.Pyth ,
177173162142 byteInilah versi tanpa mekanisme kompresi string Pyth (alias aman untuk disalin-tempel):
Cobalah online!
Ini akhirnya menjadi sangat lama karena saya mencoba untuk menjadi setinggi mungkin dengan regex. Saya mencoba mengompres setiap string yang mungkin, tetapi kebanyakan dari mereka tidak menjadi lebih kecil atau tidak dapat ditempelkan ke TIO dengan benar.
Penjelasan:
sumber
Perl 5
-p
,152145 byte@ ValueInk menghemat 7 byte
Cobalah online!
sumber
( \S+ )(Code Golf)\b/$2$1Coding
menghemat 2 byte. Juga regex terakhir dapat berakhir hanya dengan\b
bukannya(?=\s|$)
\s
seharusnya\W
sebaliknya, jika tidak maka akan gagal dalam kasus ini (-
adalah karakter non-alfanumerik, sehingga substitusi harus diterapkan).Java 8, 192 byte
Port of @Neil 's Retina menjawab , jadi pastikan untuk mengunggah dia!
Cobalah online.
sumber