Terinspirasi oleh tantangan ini .
Tujuan:
Diberikan switchboard pra-konfigurasi dan daftar indeks, membalikkan switch pada indeks yang diberikan.
Sebuah papan switch terdiri dari sejumlah saklar ( v
atau ^
) yang dibungkus -
dan disusun menjadi barisan dengan panjang yang bervariasi. Berikut ini adalah contoh switchboard:
-v-^-v-
-^-v-
-v-^-v-
Membalikkan / membalik saklar berarti mengubahnya dari v
menjadi ^
, atau dari ^
ke v
.
Sakelar diindeks dari kiri ke kanan, atas ke bawah. Misalnya, dalam contoh di atas, yang terakhir v
di baris pertama akan berada di posisi 3 dan ^
di baris tengah berada di 4 (menggunakan 1-pengindeksan).
Memasukkan:
- Sebuah string (atau daftar string) mewakili switchboard. Dijamin cocok dengan regex
((-[v^])+-)(\n(-[v^])+-)*
. - Daftar nomor yang mungkin kosong yang mewakili indeks, mungkin 0 atau 1 (atau nomor arbitrer jika Anda mau) diindeks. Ini adalah sakelar yang perlu dibalik.
Keluaran:
- Switchboard dalam bentuk yang sama dengan input dengan switch yang ditentukan terbalik. Setiap sakelar yang tidak ditentukan harus mempertahankan status awalnya.
Aturan:
- Input akan selalu diformat dengan benar dan tidak ada indeks yang diberikan akan di luar batas.
- Daftar indeks akan diurutkan dan tidak akan memiliki duplikat.
- Nyatakan dalam jawaban Anda apa pengindeksan yang Anda gunakan, baik itu 0, 1, atau yang sewenang-wenang.
- Trailing whitespace baik-baik saja selama outputnya terlihat seperti input.
- Ini adalah kode-golf sehingga kode terpendek menang.
Contoh:
#Using 1-indexing
input: #Empty Case
[],
-v-^-v-
output:
-v-^-v-
input: #Single switch
[1],
-v-
output:
-^-
input: #Skip a line
[3,5],
-^-v-v-
-v-
-^-^-
output:
-^-v-^-
-v-
-v-^-
input: #Flip one in each line + number wrap
[3,4,6],
-^-v-v-
-v-
-^-^-
output:
-^-v-^-
-^-
-^-v-
input: #Flip 'em all
[1,2,3,4,5,6],
-^-v-v-
-v-
-^-^-
output:
-v-^-^-
-^-
-v-v-
>"-"
: Karena string input dijamin untuk memulai -
, Anda dapat memeriksa terhadap parameter / argumen / nama variabel yang Anda gunakan untuk itu.