入力として文字列と配列が与えられた場合、タスクは、典型的なモバイルキーパッドで入力されたときに入力文字列が印刷するテキストを出力することです。モバイルキーパッドでは、ボタンをn回押すことで文字が入力されます。nは、ボタンのラベル上の文字の位置です。したがって、22
出力する必要がありますb
。
ルール
ヘルパー配列には文字マップ(
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
)が含まれます。これはいくつかのバイトを節約するために与えられます。#
シンボルは、ケースを切り替えます。最初のケースは低くなります。だから、2#3
出力すべきaD
。0
スペースを追加します。したがって、202
出力する必要がありますa a
。入力文字列には、同じ数字ボタン上にある新しい文字を開始するためのスペース()があります。
aa
入力例では、入力文字列はになります2 2
。入力文字列は常に有効なキーパッドコードであることが保証されています。
入力
あなたの言語がサポートするどんな方法でも入力を受け取ることができます。
出力
結果は任意の方法で出力できます。機能return
も許可されています。
テストケース
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
これはcode-golfなので、バイト単位の最短コードが勝ちです!
5
密接に関連して
—
MEGO
year
最後のテストケースの大文字表記は間違っていると思います。
ループを考慮する必要がありますか?たとえば、2222-> invalidまたは2222-> b?
—
桂林李
@Maltysenはい、あなたは正しいです。質問を編集しました。それを指摘してくれてありがとう。:)
—
Arjun
興味のない、
—
ニール
##
または二重のスペースを処理する必要がありますか?