Melanjutkan saya Itu hanya tantangan bug :
Memasukkan:
String yang terdiri dari karakter ASCII yang dapat dicetak tanpa spasi putih atau baris baru.
Keluaran:
Pertama-tama ubah input menjadi palindrome dengan mengembalikan input, dan menambahkannya sebelum itu sendiri, tidak termasuk karakter tengah (yaitu dengan input 1234567890
, itu akan menjadi 0987654321234567890
).
Dan kemudian menampilkan teks ini:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
(Dari tengah ke luar di kedua arah, setiap karakter dipisahkan oleh satu spasi lebih banyak dari baris sebelumnya.)
Aturan tantangan:
- Anda perlu mencetak dua kali panjang input, minus 3 baris. Jadi dengan input
1234567890
, output yang ditampilkan di atas adalah 17 baris (panjang 10 * 2 - 3). - Input hanya akan berisi ASCII yang dapat dicetak (tidak termasuk spasi, tab, dan baris baru).
- Ruang tambahan adalah opsional.
- Satu baris baru yang tertinggal adalah opsional.
- Ruang tambahan (tambahan) atau baris baru terkemuka tidak diizinkan.
- Anda bisa berasumsi bahwa input akan selalu paling tidak panjangnya empat karakter.
- Tidak seperti saya. Itu hanya tantangan bug , baik format input dan output fleksibel. Jadi, Anda diizinkan untuk menampilkan hasilnya sebagai String-array, String-list, dll.
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, silakan tambahkan penjelasan jika perlu.
Kasus uji:
Input: 1234567890
Output:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
Input: ABCD
Output:
D C B A B C D
D C B A B C D
DCBABCD
D C B A B C D
D C B A B C D
Input: =>)}]
Output:
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
]})>=>)}]
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
Input: XXxxXX
Output:
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
XXxxXXXxxXX
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
Jawaban:
Arang , 14 byte
Cobalah online!
AST:
sumber
Japt ,
2221 byteUji secara online!
Penjelasan
8 byte pertama menghasilkan kuadran kanan bawah dari pola:
Pada titik ini kita memiliki array eg
["ABCD", "A B C D", "A B C D"]
. Sayangnya, dibutuhkan 13 byte untuk menyelesaikannya:sumber
05AB1E , 17 byte
Cobalah online!
-1 berkat kalsowerus .
sumber
.c.∊
denganû.c
û
... terima kasih!JavaScript (ES6) ,
159136129127 byteCobalah online! Penjelasan di bawah ini
Entri pertama ke codegolf, saya minta maaf sebelumnya atas kesalahan yang jelas.
Terima kasih kepada Justin Mariner karena telah menghemat 23 byte! Terima kasih kepada Craig Ayre karena telah menyimpan 11 byte dan untuk laporan bug.
sumber
x
di -2 bukan -1, dan perubahanx<=l
ke++x<=l
sehingga Anda dapat menghapusx++
dan menyimpan byte?lines
terjerat dengan spasi juga sehingga akhirnya menghabiskan lebih banyak byte untuk membuat semuanya bekerja lagi. Tapi saya cukup yakin bahwa ada cara yang lebih baik untuk mengatur kode dan menambahkan saran Anda.SOGL V0.12 ,
2218 byteCoba Di Sini!
Penjelasan:
sumber
╬-
perintah empat arah palindromize? Saya hanya di sini berharap Japt memiliki sesuatu seperti itu ...: P╬
ada banyak hal╬-
. Tapi terima kasih, saya tidak dapat menemukan halaman itu karena alasan tertentuF
untuk∑
jika diperlukan.Python 3 ,
149 14195 byteCobalah online!
Terima kasih kepada @KevinCruijssen dan @ETHproduk untuk menghemat beberapa byte
Terima kasih khusus kepada @notjagan untuk menghemat 46 byte!
sumber
l=len(s);
kel=len(s)-1;
dan kemudian mengubah semua nilai yang melibatkanl
(yaitul-1
->l
;-l+2
->-l+1
; dll.) Adalah 8 byte lebih pendek. Coba di sini.-l+2
->2-l
:)center
bukanfor
loop!PHP,
145131 byteButuh beberapa pemikiran untuk golf byte tambahan itu; tapi itu sepadan.
mencetak baris baru terkemuka. Jalankan sebagai pipa dengan
-nR
atau coba online .kerusakan
solusi alternatif , panjang yang sama:
sumber
APL (Dyalog) , 37 byte
Membutuhkan
⎕IO←0
yang default pada banyak sistem.{
...}
fungsi anonim di mana argumen diwakili oleh ⍵(
...)↑¨¨⊂⍵
untuk setiap (¨
) dari angka-angka berikut ini mengambil (↑
) bahwa banyak karakter dari masing-masing (¨
) dari seluruh⊂
argumen ( ), padding dengan spasi seperlunya:≢w
jumlah karakter dalam argumend←
simpan di d⍳
sebanyak itu ɩ ndices (0… d - 1)1↓
jatuhkan satu (nol)∊¨
ε daftar masing-masing (ratakan)↑
naikkan peringkat (konversi daftar daftar menjadi matriks)(m←
...)
terapkan fungsi diam-diam berikut m , didefinisikan sebagai:⊖
argumen terbalik⍪
diatas dari1
satu [baris]↓
dijatuhkan dari⊢
argumen⍉
mengubah urutan(
...)↓
jatuhkan:2-d
= - ( d - 2), yaitu d - 2 baris dari bawahm
terapkan m⍉
mengubah urutanCobalah online!
sumber
Java (OpenJDK 8) ,
201196 byteCobalah online!
Itu ide yang sama dengan yang saya gunakan untuk tantangan sebelumnya , kecuali bahwa string generator sekarang sedikit lebih lama dan dengan lebih sulit untuk menangani kasus.
sumber
Python 3 ,
134124 byteCobalah online!
Posting pertama ke PPCG setelah mengintai untuk sementara waktu. Mencari saran / saran!
Terima kasih kepada @LyricLy dan @ Łukasz Rogalski untuk peningkatan!
sumber
f=
dalam bytecount, cukup memberikan fungsi anonim baik-baik saja.-len(s)+2
hanya saja2-len(s)
, satu byte lebih sedikit.Haskell,
177163 bytesFungsi
f
adalah fungsi tantangan dan mengembalikan daftar string ([String]
), menggunakannyaunlines
harus memberikan output visual yang sama dengan kasus uji (main = putStr $ unlines $ f "test string"
untuk mengkompilasinya).Cobalah online!
-14 byte terima kasih kepada @nimi
sumber
k
dapat didefinisikan sebagaik n=[1..n]>>" "
danp
sebagaip=(++)=<<reverse.tail
(Anda bahkan dapat sebaris definisi ini).Mathematica, 141 byte
sumber