Tantangan:
Diberikan input apa pun yang dapat diketik pada keyboard, pindahkan teks bersama dengan karakter N.
Ini adalah keyboard QWERTY yang akan digunakan. Anda dapat mengabaikan tombol pengubah (Shift, Caps, Enter, Delete dan Tab). Setelah Anda mencapai satu sisi (misalnya |
) putaran kembali, jadi |
pergi ke Q
jika N = 1
.
Spasi tidak harus dipindahkan (mereka kembali ke ruang saat Anda melewatkan pengubah). Jika shift digunakan untuk mengetik karakter (misalnya !
dan @
) karakter yang diubah juga harus diketik menggunakan shift (yaitu !
pergi ke @
tidak 2
jika N = 1
).
Keyboard UK berbeda dengan ini, tapi tolong gunakan ini sehingga kami dapat membandingkan.
Memasukkan:
Setiap kalimat yang bisa diketik di keyboard di atas diikuti oleh bilangan bulat positif. Tidak ada ukuran maksimum untuk bilangan bulat ini.
Keluaran:
Kalimat yang sama, digeser oleh N.
Contoh:
My name is Tim 3
?o .f/y [g I[/
Hello World 7
Spgge Oe[g;
I Wi5h I h4d b3773r C@d3ing ski{{s 3
{ T[8l { l7h ,6006u N%h6[.k g'[QQg
Ini kode golf, jadi kode terpendek menang.
N<= 13
Anda perlu menggeser paling banyak 13 untuk kembali ke karakter aslinya?Hello World 7
contohnyaSpgge Oe[g;
? Keduanyao
harus dipetakan dengan karakter yang samaJawaban:
C, 217 byte
Versi yang dapat dibaca dengan spasi putih, termasuk, dll:
Kode ini cukup banyak berbicara sendiri. Hanya tabel pencarian yang memetakan dari setiap karakter ke karakter berikutnya, yang diterapkan beberapa kali. Banyak kode sebenarnya untuk menguraikan angka dari input.
sumber
05AB1E , 61 byte
-1 byte terima kasih kepada Kevin Cruijssen
Cobalah online!
sumber
Pyth, 126 byte
Cobalah online: Demonstrasi atau Test Suite
Penjelasan:
sumber
Python 3, 311 byte
sumber
" " for c in " "
Python 3,
271255 byteBaseline, hampir ungolfed, digunakan untuk membuat kata-kata yang bergeser dalam pertanyaan.
Penjelasan:
sumber
JavaScript (ES6), 200
216Menggunakan string template, baris baru itu signifikan dan dihitung.
Catatan tentang
replace
: dua cuplikanstring.split('x').map(w=>...)
danstring.replace(/[^x]+/g,w=>...)
merupakan cara yang sama-sama valid untuk menjalankan fungsi untuk setiap bagian dalam string, menggunakan pemisah. Menggunakan baris baru sebagai pemisah berguna sebagai ganti regexp menjadi/.+/g
, karena titik cocok dengan baris yang bukan baris baru. Dan menggunakan string templated baris baru tidak memiliki biaya tambahan.sumber
CJam, 107 byte
Cobalah online di juru bahasa CJam .
Bagaimana itu bekerja
sumber
Jelly , 67 byte
Cobalah online!
Sebuah link diadik yang menggunakan string sebagai argumen kirinya dan jumlah tempat yang harus digeser sebagai argumen kanannya.
sumber
Python 2 , 194 byte
Cobalah online!
sumber