Diberi kata (atau urutan huruf apa pun) sebagai input, Anda harus menyisipkan di antara setiap huruf sedemikian rupa sehingga setiap pasangan huruf yang berdekatan dalam hasil juga berdekatan pada keyboard QWERTY, seolah-olah Anda mengetik input dengan berjalan di keyboard raksasa. Misalnya, ' ya ' mungkin menjadi ' y tr es ', ' kucing ' mungkin menjadi ' c xz sebuah wer t '.
Aturan:
Ini adalah format keyboard yang harus Anda gunakan:
q
w
e
r
t
y
u
i
o
p
a
s
d
f
g
h
j
k
l
z
x
c
v
b
n
m
Setiap pasangan tombol yang menyentuh dalam tata letak ini dianggap berdekatan. Sebagai contoh, 's' dan 'e' berdekatan, tetapi 's' dan 'r' tidak.
- Input "kata" akan terdiri dari urutan huruf apa saja. Hanya akan memiliki huruf, jadi Anda tidak harus berurusan dengan karakter khusus.
- Masukan bisa dalam bentuk apa pun yang nyaman: stdin, string, daftar, dll. Huruf surat tidak masalah; Anda dapat mengambil apa pun yang lebih nyaman.
- Outputnya bisa dalam bentuk apa pun: stdout, string, daftar, dll. Huruf huruf tidak masalah, dan tidak perlu konsisten.
- Jalur apa pun di keyboard itu valid, kecuali bahwa Anda tidak dapat melewati huruf sebelumnya lagi sebelum sampai ke huruf berikutnya. Misalnya, ' hai ' bisa menjadi ' h j i ' atau ' h jnbgyu i ', tetapi bukan ' h b h u i '.
- Surat tidak berbatasan dengan dirinya sendiri, jadi ' jajak pendapat ' tidak bisa menjadi ' jajak pendapat '. Sebaliknya itu harus menjadi sesuatu seperti ' pol k l '.
- Tidak ada surat keluaran yang diizinkan sebelum atau setelah kata. Sebagai contoh, ' was ' tidak dapat menjadi 'tre was ' atau ' was dfg'.
Ini adalah kode golf, jawaban terpendek dalam byte menang.
dewqwerty
ini adalah jalur yang valid untukdy
. Bisakah Anda mengonfirmasi itu?Jawaban:
Japt
-g
, 23 byteCobalah online!
Mengambil input sebagai array huruf kapital. Sangat mirip dengan jawaban lain sebaliknya.
Penjelasan:
sumber
Python 2 , 83 byte
Cobalah online!
Berjalan seluruh keyboard sampai kata itu ditulis.
sumber
import re
setelah kode, bukan sebelumnya?re.findall
akan dievaluasi ketika lambda berjalan, jadi mengimpor setelah definisi lambda ok. Yang sedang berkata, itu lebih jelas untuk mengimpor sebelumnya, hanya tidak perluPython 2 , 274 byte (solusi optimal)
296300302308315319324327328430432byte-4 byte berkat mypetlion
Cobalah online!
Solusi ini memberikan output sesingkat mungkin. Keyboard diubah menjadi grafik yang digunakan untuk menemukan jalur terpendek untuk menghitung string keluaran:
sumber
JavaScript (ES6), 70 byte
Strategi yang sama seperti TFeld.
Cobalah online!
sumber
05AB1E , 43 byte
Bukan bahasa yang tepat untuk tantangan ini, karena itu tidak dapat menggunakan regex seperti jawaban lainnya.
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
sumber
Arang , 48 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Dapatkan talinya
qwertyuioplkmjnhbgvfcdxsza
.Temukan posisi karakter pertama dari kata tersebut. Indeks ini biasanya satu melewati karakter yang baru saja dicapai, tetapi nilai ini memalsukan iterasi pertama dari loop untuk mencetak karakter pertama dari kata tersebut.
Ulangi setiap karakter.
Hitung berapa banyak karakter yang akan dicetak untuk memasukkan karakter berikutnya dari kata dan loop yang berkali-kali.
Cetak karakter berikutnya yang diindeks secara siklis dan tambahkan indeks.
sumber