Tantangan
Anda akan diberikan bilangan bulat positif n
sebagai input. Keluaran harus berupa tumpukan pasir seperti piramida yang dibangun berdasarkan aturan yang ditentukan di bawah ini:
- Setiap bilangan bulat "jatuh" ke bawah dari titik awal awal yang sama, seperti pasir yang jatuh ke bentuk kerucut.
- Angka lebih besar dari angka tepat di bawahnya ketika menyentuh tumpukan pasir akan jatuh ke kanan, jika bisa.
- Angka kurang dari angka tepat di bawahnya ketika menyentuh tumpukan pasir akan jatuh ke kiri, jika bisa.
- Angka sama dengan angka tepat di bawahnya ketika menyentuh tumpukan pasir akan tetap di tempatnya.
- Angka dapat jatuh ke kiri / kanan jika masing-masing dapat bergerak ke bawah dan ke kiri / kanan. Yaitu, jika sudah ada angka di bawah dan ke kiri / kanan, tergantung pada arahnya, angka yang sedang jatuh tidak bergerak.
- Sejumlah akan terus jatuh ke bawah tumpukan pasir sampai tidak dapat dipindahkan ke posisi berikutnya, atau menyentuh lantai.
Catatan
Pemeriksaan perbandingan awal hanya berlaku untuk bilangan bulat yang ditemui pertama kali, tidak untuk setiap pertemuan berturut-turut karena jatuh ke bawah tumpukan pasir.
Mengejar spasi tidak apa-apa tapi membuntuti garis baru tidak.
Tidak ada ruang terkemuka atau garis baru kecuali jika diperlukan untuk melestarikan struktur tumpukan pasir.
Anda dapat menulis program atau fungsi lengkap.
Anda mungkin menganggap input hanya akan berisi beberapa kombinasi [0-9]
.
Ini adalah kode-golf , kode terpendek dalam byte akan ditandai sebagai pemenang oleh Ides of March
Contohnya
1
1
12345
35
124
54321
13
245
555444333222111
2
2
2
135
1345
13445
111222333444555
4
4
4
135
1235
12235
7313623030872935273465247457435345345350
3
3
3
3
34
355
3644
239475
201277445
020373685575
555444333222111
Apakah itu kesalahan bahwa yang ketiga4
akan jatuh ke tangan yang pertama4
?Jawaban:
JavaScript (ES6),
260208 byteSunting: Disimpan 25 byte dengan menyadari bahwa karakter pertama bukanlah huruf khusus. Disimpan 15 byte dengan menggunakan array string, bukan array array chars. Menyimpan 12 byte dalam perbaikan lainnya, termasuk menggunakan literal
\n
(tidak ditampilkan). Itu membuat keseluruhan ini 20% lebih pendek! Saya ingin menyingkirkanreverse
tetapi biaya lebih dari saya bisa kemudian simpan dengan menggantimap
denganreplace
.Tidak Disatukan:
sumber