Masalah
Diberikan tidak ada input, tuliskan program atau fungsi yang menghasilkan atau mengembalikan string berikut:
(<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>)
Aturan
- Kemenangan program terpendek.
- Trailing whitespace diizinkan.
- Membuntuti baris baru diizinkan.
- Parameter yang tidak digunakan untuk fungsi diperbolehkan.
code-golf
ascii-art
kolmogorov-complexity
LiefdeWen
sumber
sumber
(<>.<>)
:"(<" + "(<>" + "(<>." + ... + "(<>.<>)" + "<>.<>)" + ">.<>)" + ... + ">)"
Jawaban:
SOGL V0.12 , 12 byte
Penjelasan:
Coba Di Sini!
sumber
05AB1E , 16 byte
Cobalah online!
Penjelasan
sumber
Python 3 , 49 byte
Cobalah online!
sumber
JS (Jsfuck), 10.614 byte
Tidak memiliki akses ke situs web, harus mencari tahu ini secara manual -.-
Penjelasan:
Sebagian besar karakter relatif mudah: Untuk kurung dieksekusi
Perhentian penuh didapat dengan membuat js membuat angka notasi ilmiah seperti 1.1e + 21 Dan mengambil karakter titik setelah dikonversi ke string
Kurung kotak lebih sulit, kita harus menjalankan fungsi untuk membuat string objek html miring dan mencuri kurung sudut. Trik utama dalam ini adalah mendapatkan 'c' untuk kata miring, yang membutuhkan membangun fungsi lain untuk mengambil c dari 'fungsi'
Ada banyak ruang untuk perbaikan di sini, sebagian besar di mana fungsi digunakan untuk mendapatkan tanda kurung. Saya juga ingat cara yang lebih mudah untuk mendapatkan karakter 'c' jika huruf miring lebih baik, tetapi saya harus melihat file lama saya untuk menemukannya
sumber
C # (Mono) ,
5452 byteCobalah online!
-2 byte terima kasih kepada Kevin Cruijssen
RIP C #
sumber
;
tidak dihitung untuk jawaban lambda. Dan()
dapat diganti dengan satu karakter (null
objek yang tidak digunakan ). Meta postingan yang relevan untuk yang kedua.s=>
baik-baik saja.Retina , 30 byte
Cobalah online!
sumber
V ,
28272522 byte3? 4? bytes terima kasih kepada @KritixiLithos
Cobalah online!
sumber
hx
dengan adilX
.dkHxògJ
1 byte lebih pendek daridkVHgJ0x
.Íî
hal DJ juga bekerjai(<>.<>)òÙxlHÄ$xGòddÍî
23lX
untukxl
juga: DR , 42 byte
Program yang cukup sederhana yang memanfaatkan cara substring bekerja di R. Jadi
substring('(<>.<>)',-4:6,2:12)
menghasilkan vektor berikutcat
dengan pemisah kosong output ke STDOUT dalam format yang diperlukan.Cobalah online!
sumber
Arang,
1817 byteCobalah online! Tautan adalah untuk mengucapkan versi kode.
Menggunakan operator Iris baru.sumber
TrumpScript, 70 Bytes
Saya tahu, ini solusi yang membosankan.
sumber
Brachylog , 14 byte
Cobalah online!
sumber
ᶠ
menjadiᵘ
.C (gcc) ,
5957 byte24 byte kurang dariputs()
solusi sederhana . Pasti ada beberapa solusi rekursif yang elegan, tetapi sejauh ini overhead menjadi terlalu besar pada setiap upaya.Cobalah online!
sumber
Brainfuck,
198175167 BytesSaya belum pernah melakukan codegolf, jadi ini yang pertama. Umpan balik sangat dihargai.
Cobalah online!
Saya mencari solusi yang paling jelas menurut saya. Pertama, saya mengatur sel 1-5 ke salah satu huruf "(). <>". Lalu saya pergi ke sel yang tepat dan menampilkan karakter.
UPDATE: Saya mengubah urutan karakter muncul pada "tape" membuat program lebih pendek dan lebih efisien.
UPDATE 2: Baru saja meninjau kembali posting saya setelah beberapa saat dan menyadari, bahwa dengan menggunakan urutan yang lebih pendek untuk mengatur sel saya dapat menyimpan beberapa byte.
sumber
JavaScript, 47 byte
Menggunakan metode yang sama dengan jawaban Rod's Python .
sumber
Mathematica 41 byte
sumber
Arang , 20 byte
Cobalah online!
Terima kasih kepada Destructible Lemon untuk memperhatikan pola (-4).
AST:
Apa yang
‖B
dilakukan pada dasarnya adalah palindromize secara visual.sumber
-a
.Print
s di sana, tidak yakin apa yang Anda maksud.C (gcc) , 61 byte
Saya tahu ini lumpuh tetapi jauh lebih pendek daripada solusi saya yang lain ...
C (gcc) , 103 byte
Ini adalah versi di mana saya mencoba menjadi agak rumit ...
C (gcc) ,
117115 byteVersi rekursif yang sepenuhnya rumit ...
Cobalah online!
sumber
Sekelompok tatapan kosong menonton Batman untuk menghormati Adam West ...
C # (.NET Core) , 393 byte
Cobalah online!
sumber
q , 29 byte
raze"(<>.<>)"{(y-5)_x}/:(!)11
-2 byte terima kasih kepada streetster
EDIT untuk penjelasan:
Bahasa diinterpretasikan dari kanan ke kiri.
Bagaimana itu bekerja
sumber
_x
untuk 1 byte, dan mengubahtil 11
ke(!)11
untuk penghematan 1 byte lain = 2 byte disimpan :)Haskell ,
5545 byteCobalah online!
Jawaban Haskell pertama untuk mengalahkan solusi hardcoded!
Penjelasan
Cara jawaban ini bekerja adalah dengan membuat daftar fungsi yang akan diterapkan ke string
(<>.<>)
. Pertama kita membangun bagian kiri dan tengahyang memberi kita semua awalan dari ukuran dua hingga tujuh. Kemudian kita membangun dengan benar
yang memberi kita semua sufiks dari ukuran enam hingga dua.
Setelah kami memiliki daftar fungsi, kami menggunakan bind monadic (
>>=
) yang hanyaconcatMap
lebih pendek. Fungsi yang kami concatmap dengan adalah($"(<>.<>)")
yang menerapkan input ke string(<>.<>)
.Ini membuat string.
sumber
Jelly , 22 byte
1 byte terima kasih kepada Kritixi Lithos.
Cobalah online!
sumber
µ
Java 8, 52 byte
Membosankan, tetapi tidak ada cara untuk membuat ini lebih pendek di Jawa .. Hanya menginisialisasi temp String sudah 11 byte .. (
String t="something";
), dan menggunakansubstring
beberapa kali tentu biaya terlalu banyak byte ..Alternatif terpendek untuk pengembalian literal mungkin adalah ini (58 byte):
Coba di sini.
sumber
=>
) jika Anda ingin menambahkannya.Python 2, 57 byte
Saya mengatakan itu terlihat seperti sekelompok burung hantu mengintip di belakang pemimpin mereka. Hanya mengatakan.
sumber
MATL , 28 byte
Cobalah online!
sumber
brainfuck ,
245210 byteGolf sedang berlangsung.
Cobalah online!
sumber
Haskell, 95 byte
Ini jauh lebih lama dari 49 byte yang diperlukan untuk string literal dengan output, tetapi yang terbaik yang bisa saya lakukan untuk memanfaatkan struktur . Seperti biasa, saya suka panah, dan
inits &&& tails
memang menghasilkan tuple dari daftar substring terkemuka dan daftar substring trailing input. Kemudian kedua elemen tuple tersebut disatukan dalam satu daftar dengan meneruskan tuple ke++
, dan daftar tersebutconcat
ditetapkan ke satu string besar. Thetail
daninit
panggilan menghindari duplikasi(<>.<>)
di tengah (satu yang dihasilkan olehinits
, yang lain olehtails
) dan drop kurung yang tidak diinginkan dari awal dan akhir, mengambil hanya substring panjang 2 atau lebih ke rekening.sumber
Jelly , 18 byte
Cobalah online!
Bagaimana itu bekerja
sumber
C (dentang) ,
6261 byteIni berakhir hanya setelah batas waktu pada TIO karena penulisan ke input standar gagal, tetapi akan berakhir di terminal. Program ini bergantung pada urutan evaluasi tertentu (perilaku tidak terdefinisi) dan tidak akan bekerja dengan, misalnya, gcc.
Terima kasih kepada @Steadybox untuk ide yang menghemat satu byte!
Cobalah online!
Verifikasi
Versi alternatif, 62 byte
Dengan biaya satu byte lagi, solusinya menjadi lebih portabel.
Cobalah online!
sumber
(<
ada yang hilang di sana.Python 2 , 55 byte
tidak bisa menolak mengalahkan jawaban python 2 saat ini
Cobalah online!
sumber
Jelly , 19 byte
Cobalah online!
sumber