Sebagai tindak lanjut dari tantangan saya sebelumnya Hitung sampai 20 dengan Kata-kata!, sekali lagi kami akan menggunakan daftar kata dari tantangan itu untuk melakukan tugas lain. Kali ini, Anda akan secara eksklusif menggunakan:
https://github.com/Magic Gurita Mm / wordListsByLength / blob / master / 10.txt
Untuk memilih 26 kata yang berbeda, masing-masing dimulai dengan huruf unik, dan keluarkan dalam urutan naik dari A ke Z. Berikut adalah contoh yang valid:
aardwolves
babbitting
caravaning
debilitate
evaporator
fantasized
geographer
hawfinches
imbecility
juvenility
kalanchoes
lamaseries
malodorous
nudibranch
oligophagy
pantywaist
quarreling
russetting
scantiness
teetotaler
undercount
voodooisms
wentletrap
xenophobic
yeomanries
zwitterion
Ini adalah aardwolf , ini adalah hawfinch , ini adalah kalanchoe , ini adalah nudibranch dan goletrap .
Aturan
- Tidak ada bacaan langsung dari repositori, atau celah lainnya.
- Anda dapat memilih 26 kata yang disediakan dalam tautan .
- Anda memilih kata-kata dan ini adalah kata-kata yang harus dihasilkan oleh program Anda setiap saat.
- Satu kata yang dimulai dengan masing-masing huruf berikut harus dipilih:
[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
- Ini adalah kode-golf , kemenangan byte-count terendah.
Adakah saran lain untuk spin-off menggunakan daftar kata?
Juga, jangan ragu untuk mencuri daftar kata-kata saya dan membuat tantangan.
code-golf
kolmogorov-complexity
natural-language
Guci Gurita Ajaib
sumber
sumber
Jawaban:
Bubblegum ,
10099 byteCobalah online!
Keluaran:
Kata-kata itu lagi dipilih dengan anil simulasi:
sumber
uglinesses
adalah kemungkinan untuk huruf U yang Anda lewatkan, tetapi ini tidak banyak membantu, karena Anda masih punya Q, X, dan Y untuk ditangani. Tidak ada yang terlintas dalam pikiran mereka.uneasiness
mengompresi dengan baik denganeasinesses
danqueasiness
. Sangat konsisten tentang pilihan-pilihan itu.JavaScript (ES6), 168 byte
Untuk setiap huruf awal, menghasilkan kata pertama yang berakhiran -inesses atau kata pertama yang tersedia.
Demo
Tampilkan cuplikan kode
sumber
Jelly , 69 byte
Ini adalah pendekatan naif yang mungkin dapat ditingkatkan oleh beberapa kutu yang pintar
Cobalah online!
(Asumsikan bahwa "separator yang valid adalah karakter non-alfabet ASCII yang dapat dicetak (angka genap, tidak peduli)" berlaku dari tantangan sebelumnya)
sumber
Jelly , 49 byte
Cobalah online! (Memakan waktu sekitar 22 detik pada TIO)
Output:
Bagaimana itu bekerja
sumber
Python 2 ,
256231220 byteDisimpan 36 byte berkat Jonathan Allan, yang melakukan sebagian besar kerja keras untuk ini (saya baru menemukan kata-kata: P)
Cobalah online!
sumber
print
)Japt ,
169107 byteCobalah online!
Saya menulis sebuah program yang membantu saya mengoptimalkan kompresi. Ini mengurutkan daftar berdasarkan ukuran kompresi shoco -nya .
sumber
inesses
dengan1
ketika menghitung panjang kompresi;)liminesses
Japt , 85 byte
di mana dua pasang backticks mewakili string karakter yang tampaknya dapat dicetak dan tidak dicetak. Cobalah online! Keluaran:
Penjelasan
Teknik dasarnya adalah:
Saya menemukan
cozinesses
dengan memulai dengannesses
beberapa jawaban lain telah digunakan dan berulang kali menemukan huruf sebelumnya yang muncul di antara sebagian besar dari 26 huruf. Karena teknik serakah tidak sering optimal, saya kemudian menulis naskah untuk menemukan kata optimal yang sebenarnya:(Saya tidak peduli itu sangat jelek. Ini adalah bagaimana PPCG telah mengajarkan saya untuk kode: P Jangan khawatir, saya tidak melakukan ini dalam produksi.)
Lagi pula, ketika dijalankan di konsol browser pada daftar kata 10 huruf , ini menghasilkan
Itu
57
menjadi jumlah huruf yang harus muncul dalam multiline string yang. Butuh waktu sekitar 17 detik di komputer saya, jadi bersabarlah saat Anda menjalankannya.Dengan mengganti
f=
baris denganAnda bisa mendapatkan semua sufiks dalam 20 karakter yang optimal. (Mengubah
20
di akhir untuk sesuatu yang lain untuk menyesuaikan ini. Catatan: fungsi ini mungkin hanya berfungsi di Firefox.) Anda dapat menemukan daftar semua sufiks di bawah 100 di sini .Ngomong-ngomong, dari sana, itu hanya tugas menemukan kata untuk setiap huruf dari alfabet yang memiliki akhiran terpanjang yang sama dengan
ozinesses
. Saya menulis skrip Japt untuk melakukan ini, serta mengkompres prefiks yang diperlukan untuk saya dan memberi tahu saya berapa lama program yang dihasilkan akan. (Anda harus menempelkan secara manual daftar kata di antara tanda kutip.)Penjelasan ini mungkin agak membingungkan, jadi silakan bertanya apa pun yang Anda miliki.
sumber
Bubblegum ,
110106 byteHexdump:
Cobalah online!
Cetakan:
sumber
Javascript (ES6), 163 byte
Tampilkan cuplikan kode
sumber
/.+/g
ke/.*/g
,-ozinesses
kecozinesses
, dan menghapus satu-satunyac
?/.*/g
cocok dengan sekelompok 0 karakter setelah setiap baris.Python 2 ,
168166 byteCobalah online!
Bagaimana?
Menginisialisasi
i
ke97
(ordinal karaktera
) maka loop melalui daftar dibentuk olehsplit
ting string di ruang membentuk danprint
ing kata-kata, incrementingi
sebagai kelanjutannya. Sebagian besar entri,w
, dalam daftar yang panjang dua, ini adalah kata-kata yang dimulai dengan huruf abjad dan berakhir diinesses
, yaitu dalam bentuk:chr(i)+w+'inesses'
.Entri dengan panjang 6 berbentuk:
chr(i)+w+'ies'
Ini berarti format dapat digunakan untuk mengawali huruf alfabet dan menambahkan akhiran dengan
'ness'
memasukkan seperti'i'+?+'es'
ketikaw
singkat seperti:"%c%si%ses"%(i,w,"ness"*(len(w)<3))
-% c mengkonversi
i
ke karakter;%s
memasukkan duaw
dan"ness"*(len(w)<3)
, di mana yang terakhir adalah"ness"
jika jikaw
pendek atau""
w
panjang.sumber
SOGL V0.12 , 66 byte
Coba Di Sini!
Kamus sederhana yang berisi masalah bahwa tidak ada kata yang dimulai dengan X dalam kamus SOGL, jadi saya mengganti xenotropic - tropic dalam kamus. Dan saya perlu menambahkan kutipan awal karena kalau tidak parser pikir yang
[
memulai loop: /sumber
Arang , 84 byte
Cobalah online! Menggunakan daftar kata @ HermanLauenstein, tetapi saya menyimpan satu byte karena saya dapat melewatkan
f
. Untuk sekali, agak kompetitif bahkan dalam mode verbose, yang hanya 166 byte. Cobalah online!sumber