Diberikan string, Anda harus membaginya menjadi kelompok-kelompok tiga karakter (oleh padding
_
di akhir).Terkait , tapi tetap saja berbeda.
Sampel I / O:
'abcde' -> 'abc', 'de_'
'1234' -> '123', '4__'
'' -> [] or falsey value
'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!'
Ini adalah kode-golf , sehingga byte paling sedikit akan menang!
Sunting: Akhirnya, output tidak dibatasi .
Jawaban:
05AB1E ,
98 byteCobalah online! atau sebagai Test Suite
Penjelasan
sumber
Python 3,
58 4734 byteSaya yakin orang lain bisa berbuat lebih baik.Orang lain melakukannya dengan lebih baik. Terima kasih Jo King untuk-11-24 bytes!Output tidak dibatasi, selamat datang di tuple hell. Mengembalikan daftar kosong ( falsy ) pada input kosong
TIO
sumber
JavaScript, 25 byte
Cobalah
sumber
Perl 5 ,
1615 byteCobalah online!
sumber
"@_\__"=~/.../g
. Ada 16 lainnya:(pop.__)=~/.../g
ataumap/.../g,pop.__
.APL + WIN
36 2422 byte12 byte disimpan sebagai hasil dari output yang sekarang dibatasi dan menggunakan kode dalam komentar pertama @ Adm dimodifikasi untuk bekerja di APL + MENANG dan 2 selanjutnya dengan komentar kedua. Terima kasih.
Meminta input string dan menampilkan hasilnya sebagai array nx3
Cobalah online! Atas perkenan Dyalog Classic
sumber
''
, bukan? Saya pikir OP (untuk beberapa alasan aneh) membutuhkan hasilnya0
(dengan peringkat apa pun).JavaScript,
51 50 48 2725Cobalah online!
sumber
Perl 6 , 19 byte
Cobalah online!
Pads string dengan dua garis bawah kemudian membagi string menjadi potongan tiga karakter. Kembali sebagai array objek Match.
sumber
Japt , 8 byte
+1 byte untuk kasus khusus string kosong. Dapat menyimpan 2 jika kita dapat memilih karakter padding kami.
Cobalah
sumber
Stax , 7 byte
Jalankan dan debug itu
Untuk input string kosong, hasilnya adalah array kosong, yang merupakan nilai falsey dalam stax.
sumber
CJam , 11 byte
Cobalah online!
Untuk input kosong ini menghasilkan string kosong, yang palsu.
Bagaimana itu bekerja
sumber
Retina 0.8.2 , 10 byte
Cobalah online! Tautan termasuk kasus uji. Penjelasan:
Tambahkan dua
_
s, jika kelompok terakhir perlu diisi.Cocokkan sebanyak mungkin kelompok yang terdiri dari tiga orang, mengeluarkan pertandingan itu sendiri dan bukan menghitungnya. (Dalam Retina 1 ini akan menjadi
L
bukan!
.)sumber
C (gcc) , 67 byte
Cobalah online!
Selalu mengembalikan nilai falsey (0).
sumber
Bahasa Wolfram (Mathematica) ,
2821 byte-7: Tidak lagi membutuhkan nilai falsy (
False
) pada input kosongCobalah online!
Mengambil daftar karakter sebagai input. Mengembalikan daftar 3-tupel karakter yang diisi dengan
Blank
s (_
).3427 byteCobalah online!
Input string, daftar output string
sumber
Jelly , 9 byte
Tautan monadik yang menerima daftar karakter yang menghasilkan daftar daftar karakter (input kosong menghasilkan output kosong).
Cobalah online!
Bagaimana?
Catatan:
Ini
€
hanya diperlukan untuk menangani kasus tepi input kosong.Program lengkap dapat
”
menghilangkan jejak , tetapi di sini kita tidak dapat melakukan itu karena perilaku pencetakan dari program lengkap menghancurkan semuanya bersama-sama.Setara 9:
Cobalah
Alternatif 9:
Cobalah
sumber
J , 16 byte
Cobalah online!
K (oK) ,
1917 byte-2 byte terima kasih kepada ngn!
Cobalah online!
sumber
(0N;3)
->0N 3
Java 10,
116113 byteCobalah online.
Atau
104101 byte jika array kosong bukanfalse
dibolehkan sebagai output ..Cobalah online.
Penjelasan:
sumber
Ruby,
7342 byteSunting: Karena nilai falsey sepertinya tidak diperlukan:
sumber
'_'*2
akan cukup, untuk yang literal'__'
lebih pendek. Tapi jika Anda menambahkan padding di muka maka cukup tidak cocok dengan potongan yang lebih pendek dari 3 karakter, lebih pendek:puts"#{gets}__".scan /.../
. (Perhatikan bahwa tanpa pencetakan eksplisit yang dianggapirb
tidakruby
.)C # (Visual C # Interactive Compiler) , 74 byte
Cukup tambahkan dua garis bawah '_' di akhir input untuk memastikan mereka dicetak jika panjang input bukan faktor 3.
Cobalah online!
sumber
Kotlin , 34 byte
Cobalah online!
sumber
{"${it}___".chunked(3).dropLast(1)}
C (gcc) , 55 byte
Cobalah online!
sumber
\t
) bukannya 10 (\n
) seharusnya baik-baik saja, tapi itu bukan poin utamaC (dentang) ,
1281269467 byte67 byte berkat @ceilingcat
Cobalah online!
sumber
Bash , 90 byte
Ini menggunakan fitur Bash daripada kombinasi perintah Bourne shell plus * nix yang lebih tradisional (yang satu versi saya buat berakhir pada 205 byte). Saya curang dengan menggunakan dodge untuk menambahkan dua karakter _ ke string.
Cobalah online!
sumber
PowerShell ,
5835 byte-23 bytes berkat mazzy .
Cobalah online!
sumber
GNU sed , 27 byte
Cobalah online!
Ia mendapat sedikit rumit mengenai input string kosong, karena sed tidak memiliki arti nilai palsu. Jadi untuk mengatasi ini, saya memberi Anda dua kemungkinan interpretasi aturan untuk memvalidasi kiriman saya:
A. Anda pada dasarnya tidak memberikan apa-apa sebagai input, bahkan baris baru (seperti halnya semua contoh, termasuk file 6 Mb).
Pemakaian:
Output: tidak ada yang dicetak, karena sed bahkan tidak menjalankan skrip tanpa input.
B. Seseorang dapat menganggap nilai palsu untuk sed sebagai string unik, yaitu, dikembalikan hanya ketika inputnya adalah string kosong.
Pemakaian:
Keluaran:
Saya lebih suka interpretasi pertama jauh lebih banyak, karena saya percaya itu yang paling dekat dengan aturan yang dimaksud, tetapi yang terakhir membantu jika Anda menjalankan skrip menggunakan tautan TIO itu.
sumber
JavaScript (Babel Node) , 45 byte
Cobalah online!
sumber
Jelly , 10 byte
Cobalah online!
Rasanya seperti 8 atau 9 seharusnya dimungkinkan, tetapi belum menemukannya.
sumber
Attache ,
3423 byteCobalah online!
Penjelasan (kedaluwarsa)
sumber
Arang , 10 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
sumber
Scala , 31 byte
Cobalah online!
Penjelasan
sumber
Befunge-93 ,
3029 byteCobalah online!
Tidak menghasilkan apa-apa untuk input kosong, jika tidak menghasilkan string dengan panjang 3 dipisahkan oleh karakter NUL.
Penjelasan:
sumber