Biorąc pod uwagę ciąg znaków i tablicę jako dane wejściowe, Twoim zadaniem jest wydrukowanie tekstu, który ciąg znaków wydrukuje po wpisaniu na typowej klawiaturze mobilnej. Na klawiaturze mobilnej litera jest wpisywana przez naciśnięcie przycisku n razy, gdzie n oznacza pozycję litery na etykiecie przycisku. Więc 22
powinien wyjść b
.
Zasady
Tablica pomocników będzie zawierać mapę postaci (
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
). Zostanie to przekazane, aby zaoszczędzić ci trochę bajtów.#
Symbol przełącza sprawę. Przypadek początkowy będzie niższy. Więc2#3
powinien wyjśćaD
.0
Doda przestrzeń. Więc202
powinien wyjśća a
.W
łańcuchu wejściowym pojawi się spacja ( ), aby rozpocząć nową literę na tym samym przycisku numerycznym. Na przykład, aby wpisać
aa
, ciąg wejściowy będzie2 2
.Gwarantuje się, że wejściowy ciąg znaków zawsze będzie prawidłowym kodem KeyPad.
Wejście
Możesz wprowadzać dane w dowolny sposób obsługiwany przez Twój język.
Wynik
Możesz wydrukować wynik w dowolny sposób. Funkcja return
jest również dozwolona.
Przypadki testowe
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
year
wielkie litery w ostatnim przypadku testowym są nieprawidłowe.##
wymaga obsługi podwójnej przestrzeni?Odpowiedzi:
Pyth - 31 bajtów
Nowa kluczowa rzecz kosztowała mnie zbyt wiele.
Pakiet testowy .
źródło
JavaScript,
10599 bajtówźródło
l
), A następnie używającc?l:l.toUpperCase()
.Perl 6 ,
11997 bajtówrozwiązanie oparte na mapie 119 bajtów
Spróbuj
rozwiązanie oparte na podstawieniu 97 bajtów
Spróbuj
Rozszerzony:
źródło
JavaScript ES6 - 124 bajty
Gra w golfa:
Nie golfowany:
źródło
JavaScript, 301 bajtów
Wiem, że to jest bardzo długie, ale to najlepsze, co mogę.
źródło
V , 60 bajtów
(Jest drukowalny
½<Ctrl+r>a
)Wypróbuj online!
Wyjaśnić
źródło