Jimmy telah memiliki sibuk minggu lalu dengan semua ini platform dan tali , dan miskin jimmy bahkan tidak memiliki kaki atau kaki untuk berdiri di atas!
Tugas Anda adalah mengambil seutas tali berisi beberapa Jimmy dan memberi mereka sepatu dan kaki!
Dapatkan input dalam bentuk String Jimmy
Jimmy String => /o\ /o\ /o\
hanya mengandung /o\
dan
beri masing-masing Jimmy di input sepasang kaki yang terlihat seperti ini:
/o\
_/ \_
Ubah string mengambang kepala Jimmy yang dimasukkan menjadi Jimmy dengan tali kaki, seperti:
// Input
/o\ /o\ /o\
// Output
/o\ /o\ /o\
_/ \_ _/ \_ _/ \_
Jika 2 Jimmys berdekatan, mereka harus pindah untuk memberi ruang, Jimmys akan selalu bergerak ke kanan untuk memberi ruang bagi Jimmys lain.
// Input
/o\/o\
// Output
/o\ /o\
_/ \__/ \_
Jimmys lain yang jauh tidak boleh dipindahkan kecuali jika diperlukan
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \_ _/ \_
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \__/ \_
Aturan dan celah standar berlaku,
Ini kode-golf, jadi mungkin jawaban terpendek menang.
/o\<sp>/o\<sp><sp><sp><sp><sp><sp><sp><sp>/o\/o\
implementasi saya saat ini gagal karena memindahkan dua Jimmies terakhir ke kiri bukannya kanan .. Namun, semua test case Anda berhasil.Jawaban:
Python 2 ,
131120115114121118 byteCobalah online!
4 byte thx ke movatica ; 10 byte hilang untuk perbaikan bug.
sumber
o+=2-len(g)
menghemat satu byteRuby
-p
,7775 byteAturan "jangan pindahkan Jimmy jika tidak diperlukan" adalah cobaan berat untuk diselesaikan, tetapi saya pikir itu berhasil dengan baik. Lebih pendek dari Python sedikit (pada saat penulisan), setidaknya.
-2 byte dari rekursif.
Cobalah online!
sumber
\S+
di tempat\/\S*
?PowerShell , 96 byte
Cobalah online!
Belum dibuka:
sumber
Python 2 ,
152148140 byteCobalah online!
sumber
Arang , 28 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Cetak spasi untuk mengalahkan margin kiri otomatis Charcoal.
Lingkarkan semua lengan kiri.
Lompat ke lokasi kaki kiri yang diinginkan. Perhatikan bahwa Arang tidak memiliki masalah menggambar
(-1, 1)
, tetapi pertanyaannya tidak memungkinkan, jadi kita harus berhati-hati untuk menghindari menggambar di posisi negatif.Bergerak melewati semua output yang ada.
Keluarkan kaki dan kemudian pindah untuk menampilkan Jimmy.
sumber
Retina ,
4037 byteCobalah online!
Berkat Value Ink untuk bermain golf 3 byte.
sumber
(\\ ?|^)(/\S*) ?
lebih pendek daripada yang ada di baris pertama Anda dan harus memberikan hasil yang sama (mungkin; Saya tidak tahu sama sekali Retina)Stax ,
29282425 byteJalankan dan debug itu
Ada bug dalam solusi 24 byte yang menyebabkan beberapa kesalahan off-by-1 dalam beberapa kasus.
sumber
JavaScript (ES6), 107 byte
Cobalah online!
sumber