Baru-baru ini saya memutuskan untuk mengunduh beberapa perangkat lunak dikte, untuk membantu penulisan saya. Namun, itu tidak berfungsi dengan baik ketika saya mengkode, karena saya harus berubah dari mengucapkan kata-kata menjadi simbol dan kembali lagi. Ini bahkan lebih buruk ketika aku coding dalam bahasa esoteris yang semua simbol.
Untuk membuat saya menggunakan program dikte lebih konsisten, saya memutuskan untuk beralih ke mode karakter, di mana saya hanya mengucapkan nama masing-masing karakter saja. Masalah terpecahkan! Meskipun ini sedikit menunda tanggal rilis novelku ...
Jadi, dengan asumsi bahwa semakin lama nama karakter, semakin lama waktu yang dibutuhkan untuk mengatakan, berapa lama waktu yang saya butuhkan untuk mengeja beberapa program / kalimat saya?
Spesifikasi
Diberikan string yang hanya terdiri dari ASCII yang dapat dicetak, kembalikan jumlah nama unicode masing-masing karakter. Misalnya, /
disebut SOLIDUS
dengan 7 karakter, dan A
adalah LATIN CAPITAL LETTER A
dengan 22 karakter.
Tapi ingat, saya harus mengatakan program Anda dengan keras untuk mengeksekusinya, sehingga skor mereka akan didasarkan pada berapa lama saya mengatakannya, yaitu sebagai jumlah dari panjang nama unicode masing-masing karakter.
Kasus uji:
Dalam format input => output
tanpa spasi tambahan / spasi di input.
A => 22
/ => 7
Once upon a time... => 304
slurp.uninames>>.comb.sum.say => 530
JoKing => 124
!" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ => 1591
Double-check your \s on the last test case ;) => 755
<say "<$_>~~.EVAL">~~.EVAL => 388
,[.,] => 58
19 => 19
Aturan:
- Input ke program Anda hanya akan terdiri dari karakter ASCII yang dapat dicetak, yaitu codepoints 32 (spasi) hingga 126 (tilde).
- Demi kenyamanan, berikut adalah daftar panjang karakter yang harus Anda tangani:
[5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5]
- Demi kenyamanan, berikut adalah daftar panjang karakter yang harus Anda tangani:
- Berikut ini adalah program referensi yang dapat Anda gunakan untuk menilai program Anda.
- Peter Taylor telah menunjukkan bahwa program referensi menormalkan beberapa karakter unicode . Seharusnya masih berfungsi untuk sebagian besar solusi, tetapi jangan ragu untuk memperbaikinya jika Anda perlu
- Karena Anda mengatakan seperti apa sebenarnya karakter itu, solusi Anda akan dinilai oleh karakter yang ditampilkan, bukan byte yang terlibat. Ini diarahkan pada bahasa dengan penyandian khusus.
- Anda dapat mengasumsikan bahwa saya telah menghafal seluruh pustaka Unicode dan dapat mengatakan karakter aneh apa pun yang Anda gunakan.
- Maaf Rogem, tetapi jawaban harus terdiri dari karakter yang dapat ditampilkan. Unprintables baik-baik saja, saya hanya harus bisa membaca karakter dengan keras.
- Apa pun yang Anda lakukan, jangan gunakan
ﯹ
dalam program Anda.
sumber
ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
ini akan menjadi nama lengkap anak saya\x[2126]
dihitung sebagai\x[3a9]
.Jawaban:
Java 8, skor
846838822816Skor -8 berkat @tsh menggantikan
_1
denganꀊ
.Skor -22 berkat @ ASCII-hanya mengganti
ꀊ
denganˇ
dan$
denganௐ
.Cobalah online.
Penjelasan:
The
ௐ
danˇ
digunakan sebagai gantis
danc
saya biasanya menggunakan, karena huruf kecil semuanya 20 (yaituLATIN SMALL LETTER S
), tetapiௐ
(TAMIL OM
) adalah 8 danˇ
(CARON
) adalah 5.sumber
push compressed integer 87235805968599116032550323044578484972930006625267106917841
: Pꀊ
bukannya_1
akan menghemat beberapa poin.Ω
(OHM SIGN
) berukuran 8 karakter. Juga haha saya tidak sadar itu tidak valid, hanya diasumsikan karena itu valid dalam C # dan Peter digunakan_1
juga ( program untuk menemukan nama variabel pendek , karakter kotak tidak dapat digunakan)Perl 6 , skor 337
Cobalah online!
sumber
.&[~]
bukan.join
trik yang rapi. Saya tidak pernah ingat operator reduksi apa yang dapat diterapkan melalui metode ituJapt v2.0a1
-x
, Skor926908875865829791789Mengambil input sebagai array karakter.
Cobalah atau jalankan semua test case di TIO
(
APOSTROPHE
dihilangkan dari test case ke-6 pada TIO karena Japt tidak dapat menangani tanda kutip tunggal dan ganda dalam string input yang sama)Penjelasan
Membangun String
(Skor mencakup langkah-langkah dan karakter tambahan yang diperlukan untuk membalikkan setiap modifikasi)
>=23
dan bergabung ke string mencetak 1832 .m
dank
dengan karakter huruf besar tunggal mencetak 963 .5
adalah karakter dengan codepoint terendah (53
) jadi saya mulai dengan 52, yang mencetak 75651
memberikan nilai terbaik dari 738String terakhir, jadi, berisi karakter pada codepoint berikut:
sumber
05AB1E , skor 963
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
Lihat ini 05AB1E ujung tambang (bagian Cara kompres bilangan bulat besar? Dan Cara daftar bilangan bulat kompres? ) Untuk memahami mengapa
•Fδà‚<0?9½mΣ@×ƶC₁vc-™uΔ_ε'•21в
adalah[5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,0,19,15,20,17,8,12,2,18,13,19,5]
.sumber
C # (Visual C # Interactive Compiler) (skor
1627 1116 1096 1037 1019902)Ini tidak menggunakan database bawaan: hanya beberapa casing khusus untuk huruf dan tabel pencarian.
Test suite online .
Tidak dapat mencetak sendiri, karena sebagian besar karakter tidak dalam jangkauan, termasuk variabel
CARON
danOHM SIGN
dan simbol zodiak yang digunakan untuk menyandikan tabel pencarian.Terima kasih kepada ASCII-only untuk banyak saran.
sumber
R; Nilai:
333015861443Juga menantang di R karena kurangnya built-in.
Yah kodenya sekarang kebanyakan @ Giuseppe tapi tidak apa-apa. Saya dapat membuat edit kecil ke golf lebih lanjut dengan mengganti * dengan ~, dan s dengan titik.
Terima kasih kepada @Nick Kennedy untuk mendapatkan ini ke 1443 dengan menggunakan
sihir misterius"versi UTF8 yang dikodekan dari urutan nomor"Cobalah online
sumber
utf8ToInt
adalah perintah yang sangat membantu untuk bermain golf :-) Saya belum pernah menggunakan PPCG selama sebulan atau lebih, jadi senang melihat orang baru bermain golf di R!Python 3 , Skor 993
Cobalah online!
Di bawah 1000 sekarang, semua tips masih dihargai.
-16 Terima kasih kepada Kirill L.
sumber
_
denganˇ
untuk 987.Perl 5
-pl
, skor 723Cobalah online!
Penjelasan
sumber
Attache , 1934
Cobalah online!
Kompresi dan pengindeksan sederhana.
sumber
C # (Visual C # Interactive Compiler) , Nilai:
40073988375935512551Saya merasa hancur oleh solusi Peter Taylor di atas. Terima kasih kepada Peter Taylor karena menunjukkan tabel pencarian sederhana lebih baik daripada solusi kamus saya sebelumnya.
Cobalah online!
sumber
_1=>_1.Select(_2=>new int[]{5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5}[_2-32]).Sum()
skor 2786.