Word dan tombol mengubah ukuran font sesuai dengan aturan ini:A▲ᴀ▼
- Ukuran font awal adalah 11.
- Jika ditekan ketika ukuran font adalah 1, ukurannya tetap 1.ᴀ▼
- Ukuran font berubah dengan 1 poin di kisaran 1 - 12.
- Ukuran font berubah dengan 2 poin di kisaran 12 - 28.
- Pilihannya adalah 28, 36, 48, 72, dan 80 di kisaran 28 - 80.
- Ukuran font berubah dengan 10 poin di kisaran 80 - 1630.
- Ukuran font berubah dengan 8 poin di kisaran 1630 - 1638.
- Jika ditekan ketika ukuran font 1638, ukurannya tetap 1638.A▲
Tugas
Dalam sesedikit mungkin byte, tentukan ukuran font yang dihasilkan ketika diberikan satu set tombol yang ditekan dalam format yang masuk akal.
Contohnya
[3,-1,2]
, artinya : Hasilnya adalah 18.A▲A▲A▲ᴀ▼A▲A▲
Beberapa format yang mungkin adalah '^^^v^^'
, [1 1 1 -1 1 1]
, [True,True,True,False,True,True]
, ["+","+","+","-","+","+"]
, "‘‘‘’‘‘"
, "⛄️⛄️⛄️🌴⛄️⛄️"
, 111011
, "CaB"
, dll ...
[2]
: 14
[-1]
: 10
[13]
: 80
[-11,1]
: 2
[11,-1]
: 36
[170,-1]
: 1630
[2000,-2,100]
: 1638
"^vvv^v^^^v"
,[-1, 1, 1, -1, 1, -1]
,[0, 1, 0, 1, 1, 0, 1]
?Jawaban:
MATL ,
494745 byteFormat input adalah
[1 1 -1 1 1 -1 -1 -1]
atau[2 -1 2 -3]
, dengan koma opsional.Cobalah online! Atau verifikasi semua kasus uji .
Penjelasan
sumber
Word VBA,
1991471261161021008785 BytesMengapa meniru ketika Anda bisa melakukannya ?!
Deklarasi fungsi dalam
ThisDocument
modul yang mengambil inputn
dalam bentukArray(true,true,false,true)
dan output ke pemilih ukuran font Word :PGolf:
Tidak Disatukan:
.GIF penggunaan
Terima kasih
-21 terima kasih kepada @ Adám (
Selection.WholeStory:
panggilan dihapus )-10 terima kasih kepada @ Adám (anggap lingkungan bersih; hapus
f.size=11:
panggilan)-14 Terima kasih kepada @ Adám (pemilih ukuran font kata keluaran yang tidak sopan)
-2 terima kasih kepada @ Adám (bool ParamArray)
-13 untuk mengubah
ParamArray n()
ken
dan mengharapkan masukan sebagai Boolean Array-2 untuk pindah dari modul kode ke
ThisDocument
modulVersi Lama 114 Bytes
Mengambil input
n
sebagai ParamArray, dalam bentuktrue,true,false,true
dan output kata vbe jendela langsungVersi lebih lama, 199 Bytes
Mengambil input dalam bentuk
170,-4,6,-1
(menerima angka yang lebih besar dari 1 dalam magnitude)sumber
Set f=.Size = 12
?JavaScript (ES6),
103101 byteMengambil input sebagai array dari
-1
/1
.Uji
Tampilkan cuplikan kode
Disimpan 2 byte berkat produk ETH
sumber
a&&(b=c)
, Anda dapat menyimpan satu bytea?b=c:0
. Namun di sini, saya pikir Anda bahkan dapat menyimpan dua dengann+=n>v&&k*[...][i]
Python 2,
111107 byteMembutuhkan input dalam
[-1, 1, 1, -1, ...]
format. Ini bekerja dengan contoh untuk beberapa byte tambahan:sumber
i+=[0,d][0<i<179]
mungkin berhasilif
pernyataan.0
atau179
kita terjebak di sana selamanya.Oktaf,
938987 byteArray input dapat memiliki bilangan bulat yang lebih besar dari 1 atau lebih kecil dari -1 untuk mewakili banyaknya aksi
Berkat Adám, Bahasa yang diubah menjadi Oktaf hanya untuk dapat menggunakan pengindeksan langsung ke dalam array.
Disimpan 2 byte berkat rahnema1.
Uji
Di Ideone
sumber
[1:12,14:2:28,36,48,72,80:10:1630,1638](L)
.[1:11 [6:14 18 24 36 40:5:815 819]*2]
beberapa byte bisa disimpan!Ruby, 106 byte
Saya berhasil mencukur beberapa byte dari solusi python (dan butuh beberapa saat untuk mencukur).
Ini adalah fungsi anonim yang mengambil input dalam bentuk
[1, -1, 1, 1, ...]
. Tampaknya berurusan dengan input dalam formulir[170,-12]
juga, tetapi saya tidak dapat menjamin itu akan bekerja 100% dari waktu, jadi saya akan bermain aman dan mengatakan itu bekerja dengan baik[1, -1, 1, 1, ...]
.Trik yang saya gunakan:
[0,179,a+b].sort[1]
: Klem inia+b
berada di antara 0 dan 179, yang merupakan indeks valid dari array ukuran font.Menggunakan operator percikan pada rentang mengubahnya menjadi array, sehingga ukuran font yang tersedia dihasilkan
[*1..12,*(14..28).step(2),36,48,72,*(80..1630).step(10),1638]
. Yang merupakan array datar yang berisi nilai-nilai dari masing-masing elemen yang diratakan:1..12
berkisar dari 1 hingga 12 (inklusif). Operator percikan mengubahnya menjadi nilai1, 2, 3, ..., 11, 12
.(14..28).step(2)
adalah enumerator untuk rentang yang diberikan, di mana setiap langkah naik 2. Operator percikan mengubahnya menjadi nilai14, 16, 18, ..., 26, 28
.36, 48, 72, 1638
) semuanya digabungkan dalam posisinya ke dalam array ukuran font yang hebat.Saya menggunakan metode
inject
(/reduce
), yang menggunakan setiap elemen dari array input, sambil menguranginya menjadi variabel 'memo' (seperti kata ruby). Saya menginisialisasi ini menjadi 11, dan tubuh setiap injeksi iterasi adalah untuk mengatur variabel memo ini ke hasil menambahkan elemen input saat ini ke nilai memo saat ini, dan kemudian menjepitnya antara 0 dan 180.Semua memuji operator percikan!
sumber
PHP, 116 byte
pertama menghasilkan indeks ukuran (dari 1 hingga 180 inklusif),
kemudian memetakannya ke ukuran titik dan mencetak hasilnya.
mengambil
+N
dan-1
dari argumen baris perintah.(
-N
juga diterima; hanya berhati-hatilah agar ukurannya tidak melompat di bawah nol!)Jalankan dengan
-nr
.sumber
Perl 5 , 123 byte
122 byte kode +1 untuk
-a
Cobalah online!
Masukkan format:
sumber