Terima kasih kepada @KritixiLithos karena membantu saya mengatasi tantangan ini!
V adalah bahasa pemrograman yang saya tulis sehingga saya bisa menggunakan dan memperluas vim untuk tantangan kode-golf. Komitmen pertama adalah pada 3 Maret 2016, artinya hari ini V berumur satu tahun! Woo hoo
Selama tahun pertama keberadaan V, ada 176 komitmen dari empat kontributor berbeda, 140 jawaban dari 12 pengguna yang berbeda , dan terlalu banyak operator duplikat yang rusak untuk dihitung . Ini memiliki juru bahasa online , yang disediakan oleh @ Dennis, yang telah dijalankan hampir 8.000 kali sejak Desember .
Mari kita tantangan untuk merayakan ulang tahun V! Karena sebagian besar fitur dalam V dirancang dengan manipulasi string dan ascii-art dalam pikiran, sepertinya wajar bahwa setiap tantangan merayakan V harus tentang seni ascii. Jadi tantangan Anda untuk hari ini adalah mengambil kata sebagai input, dan membentuk kembali kata itu dalam bentuk huruf V. Misalnya, input "Halo" harus memberikan V berikut:
Hello olleH
Hello olleH
Hello olleH
Hello olleH
Hello olleH
HellolleH
HellleH
HeleH
HeH
H
Berikut adalah beberapa detail tentang seperti apa penampilan V Anda. Jika string input panjangnya n karakter, maka V harus berupa n*2
garis yang tinggi. Baris pertama harus terdiri dari:
<input string><(n*2) - 1 spaces><input string reversed>
Pada setiap baris baru, satu spasi ditambahkan ke awal, dan kedua sisi string bergerak ke satu sama lain, menghilangkan karakter yang tumpang tindih. Sampai baris terakhir, yang hanya merupakan karakter input pertama. Trailing whitespace pada setiap baris dapat diterima, dan trailing newline juga diperbolehkan.
Anda dapat mengasumsikan bahwa input akan selalu dapat dicetak ASCII tanpa spasi di dalamnya, dan Anda dapat mengambil input dan output dengan metode yang masuk akal. Berikut ini beberapa contoh input:
Happy:
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
HappyppaH
HapppaH
HapaH
HaH
H
Birthday:
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
BirthdayadhtriB
BirthdadhtriB
BirthdhtriB
BirthtriB
BirtriB
BiriB
BiB
B
V!:
V! !V
V! !V
V!V
V
~:
~ ~
~
Tentu saja, karena ini adalah kode-golf , celah standar dilarang dan tujuan Anda adalah menulis program sesingkat mungkin untuk menyelesaikan tugas ini. Selamat bermain golf!
Untuk apa nilainya, saya memiliki titik lemah untuk jawaban vim, jadi poin bonus imajiner untuk menggunakan vim atau V, meskipun bahasa apa pun dapat diterima. :)