Latar belakang
Bayangkan alfabet Inggris yang dituliskan berurutan dalam huruf kapital - ABCDEFGHIJKLMNOPQRSTUVWXYZ
. Misalkan kita memiliki lensa lebar variabel khusus sehingga, ketika ditempatkan di atas baris, itu menunjukkan "jendela" tertentu dari alfabet, dengan huruf di luar lensa tersembunyi dari pandangan. Selain itu, lensa ini memiliki karakteristik melengkung, sehingga huruf pertama di dalam lensa, dan setiap huruf kedua sesudahnya, memiliki huruf yang lebih rendah, tetapi huruf yang tersisa masih menunjukkan huruf besar.
Sebagai contoh, kita bisa memiliki lensa panjang 5 ditempatkan di suatu tempat di tengah-tengah alfabet dan kami hanya akan melihat . jKlMn
(periode menjelang sini untuk memastikan spasi acara) - catatan K
dan M
masih dikapitalisasi, sedangkan j
, l
, dan n
semua yang lebih rendah berbasis Saat kami menggeser lensa ini dari kiri ke kanan sepanjang alfabet, huruf yang berbeda akan ditampilkan dan huruf yang berbeda dikapitalisasi. Tugas di sini adalah untuk mengeluarkan huruf yang dihasilkan saat lensa slide sepanjang alfabet.
Tantangan
Tulis program atau fungsi yang mengambil integer input 0 < n < 27
dan mengeluarkan atau mengembalikan string yang terlihat ketika lensa yang dijelaskan di atas meluncur melintasi alfabet.
Untuk nilai yang n
lebih besar dari 1
, lensa dimulai dengan "menggantung" dari sisi kiri alfabet, sehingga hanya yang A
ditampilkan di slot paling kanan dari lensa. Baris pertama dari setiap output dengan demikian akan menjadi tunggal A
, baik huruf besar atau kecil tergantung pada panjang lensa.
Demikian pula, lensa selesai meluncur ketika Z
berada di slot paling kiri dari lensa (yang berarti bahwa baris terakhir dalam output apa pun akan selalu 25 spasi diikuti oleh huruf kecil z
).
Contohnya
Memasukkan: 1
Keluaran:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Memasukkan: 4
Keluaran:
A
aB
AbC
aBcD
bCdE
cDeF
dEfG
eFgH
fGhI
gHiJ
hIjK
iJkL
jKlM
kLmN
lMnO
mNoP
nOpQ
oPqR
pQrS
qRsT
rStU
sTuV
tUvW
uVwX
vWxY
wXyZ
xYz
yZ
z
Memasukkan: 26
Keluaran:
A
aB
AbC
aBcD
AbCdE
aBcDeF
AbCdEfG
aBcDeFgH
AbCdEfGhI
aBcDeFgHiJ
AbCdEfGhIjK
aBcDeFgHiJkL
AbCdEfGhIjKlM
aBcDeFgHiJkLmN
AbCdEfGhIjKlMnO
aBcDeFgHiJkLmNoP
AbCdEfGhIjKlMnOpQ
aBcDeFgHiJkLmNoPqR
AbCdEfGhIjKlMnOpQrS
aBcDeFgHiJkLmNoPqRsT
AbCdEfGhIjKlMnOpQrStU
aBcDeFgHiJkLmNoPqRsTuV
AbCdEfGhIjKlMnOpQrStUvW
aBcDeFgHiJkLmNoPqRsTuVwX
AbCdEfGhIjKlMnOpQrStUvWxY
aBcDeFgHiJkLmNoPqRsTuVwXyZ
bCdEfGhIjKlMnOpQrStUvWxYz
cDeFgHiJkLmNoPqRsTuVwXyZ
dEfGhIjKlMnOpQrStUvWxYz
eFgHiJkLmNoPqRsTuVwXyZ
fGhIjKlMnOpQrStUvWxYz
gHiJkLmNoPqRsTuVwXyZ
hIjKlMnOpQrStUvWxYz
iJkLmNoPqRsTuVwXyZ
jKlMnOpQrStUvWxYz
kLmNoPqRsTuVwXyZ
lMnOpQrStUvWxYz
mNoPqRsTuVwXyZ
nOpQrStUvWxYz
oPqRsTuVwXyZ
pQrStUvWxYz
qRsTuVwXyZ
rStUvWxYz
sTuVwXyZ
tUvWxYz
uVwXyZ
vWxYz
wXyZ
xYz
yZ
z
Aturan
- Standard aturan input / output berlaku
- Celah standar tidak diijinkan
- Aturan standar kode-golf berlaku
- Ruang putih terkemuka seperti yang ditunjukkan diperlukan, sehingga kami tahu di mana kami berada dalam alfabet.
- Setiap baris tidak dapat memiliki spasi spasi (seperti yang ditunjukkan - output bukan persegi panjang).
- Satu baris tambahan baru adalah opsional.
sumber
Jawaban:
Pyth, 31 byte
Cobalah online. Suite uji.
Cepat dan kotor.
sumber
JavaScript (ES6), 130 byte
Dimana
\n
mewakili karakter baris baru literal. Bekerja dengan mengulangi persegi panjang keluaran dan menghasilkan ruang di luar diagonal sambil menambahkan 32 ke kode karakter untuk huruf kecil dalam kuadrat alternatif. Penggunaanreplace
tampaknya lebih panjang 1 byte:sumber
AWK, 160 byte
Itu seketat yang saya bisa pikirkan
AWK
. Memiliki 3print
s berbeda dancontinue
benar - benar menambah byte-count.sumber