Banyak game Game Boy lama seringkali membutuhkan input string dari pengguna. Namun, tidak ada keyboard. Ini ditangani dengan menghadirkan pengguna dengan "layar keyboard" seperti:
The 'karakter pointer' akan dimulai pada huruf A. Pengguna akan menavigasi ke masing-masing karakter yang diinginkan dengan D-Pad 's empat tombol ( UP
, DOWN
, LEFT
dan RIGHT
), lalu tekan BUTTON A
untuk menambahkan ke string akhir.
Tolong dicatat:
- Grid membungkus , sehingga menekan
UP
sementara pada huruf A akan membawa Anda ke T. - 'Penunjuk karakter' tetap diletakkan setelah menambahkan huruf
Tantangan
Keyboard di atas memiliki opsi untuk mengubah huruf besar-kecil dan bentuknya tidak beraturan. Jadi, untuk kesederhanaan, dalam tantangan ini kita akan menggunakan keyboard berikut (kanan bawah adalah ASCII char 32, spasi):
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 .
Mengetik pada keyboard seperti ini sangat lambat - jadi, untuk membuatnya lebih mudah, tugas Anda adalah menulis sebuah program yang memberi tahu pengguna cara tercepat yang mungkin untuk mengetik string yang diberikan. Jika ada beberapa cara tercepat, Anda hanya perlu menunjukkan satu.
Kunci output harus:
>
untukRIGHT
<
untukLEFT
^
untukUP
v
untukDOWN
.
untukBUTTON A
(tambahkan huruf saat ini ke string)
Misalnya, ketika diberi string DENNIS
, solusinya akan terlihat seperti ini:
>>>.>.>>v..>>.>>>v.
Aturan / Detail
- Tolong ingat, kisi-kisi membungkus!
- Anda dapat mengirimkan program atau fungsi lengkap, selama itu mengambil string awal dan menghasilkan string solusi. Baris putih / trailing baris baru tidak relevan selama outputnya benar.
- Anda dapat mengasumsikan input hanya terdiri dari karakter yang dapat diketik pada keyboard yang ditentukan, tetapi mungkin kosong.
- Ini kode-golf , jadi kode terpendek menang. Lubang kode standar golf berlaku.
Uji Kasus
Biasanya ada beberapa solusi dengan panjang yang sama. Untuk setiap test case, saya telah memasukkan panjang optimal, dan sebuah contoh. Anda tidak perlu mencetak panjang jawaban Anda, hanya solusinya.
FLP.TKC -> 25 steps: <<.<v.<<<v.<<<v.^.<<^.<^.
MOYLEX -> 23 steps: <<v.>>v.>>>v.>^^.^.<<^.
FEERSUM -> 18 steps: <<.<..<vv.>.>>.<^.
MEGO -> 14 steps: <<v.<^.>>.>vv.
A CAT -> 17 steps: .<^.>>>v.<<.<<vv.
BOB -> 10 steps: >.<vv.>^^.
(space) -> 3 steps: <^.
(empty) -> 0 steps: (empty)
Anda dapat melihat generator testcase saya di repl.it - tolong beri tahu saya jika ada bug.
Terima kasih semuanya atas kirimannya! Pengguna ngn saat ini adalah pemenang dengan 61 byte, tetapi jika ada yang bisa menemukan solusi yang lebih pendek, centang hijau kecil dapat dipindahkan;)