一般的に使用されるキーボードレイアウトは、以下に示すQWERTYレイアウトです。
しかし、他のキーボードレイアウトもあります。
DVORAK
コレマック
あなたのタスク
コードは、キーボードレイアウトの名前と、文字起こしする文字列の2つの入力を受け取ります。あなたの目標は、QWERTY入力を、最初のパラメーターとして指定されたキーボードレイアウトで入力しているかのように変換することです。
ルール
入力形式は無料です。文字列、配列などを使用できます。さらに、3つの異なる値を使用してレイアウトを表現し、バイト数を減らすことができますが、それぞれ10バイト以下で表現できる必要があります。
背景が白いキーのみを処理する必要があります。具体的には、印刷可能なASCII文字をQWERTYアルファベットから他のアルファベットのいずれかに転置する必要があります。
QWERTY: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
DVORAK: !_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
COLEMAK: !"#$%&'()*+,-./0123456789Oo<=>?@ABCSFTDHUNEIMKY:QPRGLVWXJZ[\]^_`abcsftdhuneimky;qprglvwxjz{|}~
WORKMAN: !"#$%&'()*+,-./0123456789Ii<=>?@AVMHRTGYUNEOLKP:QWSBFCDXJZ[\]^_`avmhrtgyuneolkp;qwsbfcdxjz{|}~
(注:これは@ETHproductionsによって手作業で転写されたものですので、エラーを見つけた場合は指摘してください!)
例
DVORAK zZxX
入力として出力として与える ;:qQ
これはコードゴルフなので、バイト単位の最短回答が勝ちです!
!_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
ドヴォルザークのキーボードの入力として受け取れますか?それは挑戦を平凡にするでしょう...長さ制限または類似のものを導入するのはどうですか?
!_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
入力として取ることができます