Biorąc pod uwagę słowo (lub dowolną sekwencję liter) jako dane wejściowe, musisz interpolować każdą literę tak, aby każda sąsiednia para liter w wyniku również sąsiadowała z klawiaturą QWERTY, tak jakbyś wpisywał dane wejściowe, chodząc po wielkiej klawiaturze. Na przykład „ tak ” może stać się „ y tr es ”, „ cat ” może stać się „ c xz a wer t ”.
Zasady:
To jest format klawiatury, którego powinieneś używać:
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
Każda para klawiszy dotykająca w tym układzie jest uważana za sąsiadującą. Na przykład „s” i „e” są przylegające, ale „s” i „r” nie.
- „Słowo” wejściowe będzie się składać z dowolnej sekwencji liter. Będzie zawierał tylko litery, więc nie masz do czynienia ze znakami specjalnymi.
- Dane wejściowe mogą mieć dowolną wygodną formę: standardowe, ciąg, listę itp. Wielkość liter nie ma znaczenia; możesz wziąć to, co jest wygodniejsze.
- Dane wyjściowe mogą mieć dowolną wygodną formę: standardowe, ciąg, listę itp. Wielkość liter nie ma znaczenia i nie musi być spójna.
- Każda ścieżka na klawiaturze jest poprawna, z tą różnicą, że nie można ponownie przekroczyć poprzedniej litery przed przejściem do następnej. Na przykład „ cześć ” może oznaczać „ h j i ” lub „ h jnbgyu i ”, ale nie „ h b h u i ”.
- Litera nie leży obok siebie, więc „ ankieta ” nie może stać się „ ankietą ”. Zamiast tego musiałoby stać się czymś w rodzaju „ pol k l ”.
- Żadne litery wyjściowe nie są dozwolone przed słowem ani po nim. Na przykład „ był ” nie może stać się „tre był ” lub „ był dfg”.
To jest kod golfowy, wygrywa najkrótsza odpowiedź w bajtach.
dewqwerty
jest to poprawna ścieżkady
. Czy możesz to potwierdzić?Odpowiedzi:
Japt
-g
, 23 bajtyWypróbuj online!
Pobiera dane wejściowe jako tablicę wielkich liter. W przeciwnym razie bardzo podobne do innych odpowiedzi.
Wyjaśnienie:
źródło
Python 2 , 83 bajty
Wypróbuj online!
Przechodzi całą klawiaturę, dopóki słowo nie zostanie zapisane.
źródło
import re
przychodzi po kodzie, a nie wcześniej?re.findall
oceniony, gdy lambda działa, więc importowanie po definicji lambda jest prawidłowe. Biorąc to pod uwagę, łatwiej jest importować wcześniej, po prostu nie trzebaPython 2 , 274 bajty (optymalne rozwiązanie)
296300302308315319324327328430432bajtów-4 bajty dzięki mypetlion
Wypróbuj online!
To rozwiązanie zapewnia możliwie najkrótszą wydajność. Klawiatura jest przekształcana w wykres służący do znalezienia najkrótszej ścieżki do obliczenia ciągu wyjściowego:
źródło
JavaScript (ES6), 70 bajtów
Ta sama strategia co TFeld.
Wypróbuj online!
źródło
05AB1E , 43 bajty
Niewłaściwy język dla tego wyzwania, ponieważ nie może używać wyrażenia regularnego, jak inne odpowiedzi ..
Wypróbuj online lub sprawdź wszystkie przypadki testowe .
Wyjaśnienie:
źródło
Węgiel drzewny , 48 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
Uzyskaj ciąg
qwertyuioplkmjnhbgvfcdxsza
.Znajdź pozycję pierwszego znaku tego słowa. Ten indeks jest zwykle jeden za osiągniętym znakiem, ale ta wartość fałszuje pierwszą iterację pętli, aby wydrukować pierwszy znak słowa.
Pętla nad każdą postacią.
Oblicz, ile znaków do wydrukowania, aby uwzględnić kolejny znak słowa i zapętlić tyle razy.
Drukuj następny znak cyklicznie indeksowany i zwiększaj indeks.
źródło