Sederhana dan bagus
Memasukkan
Diberikan array boolean (Atau alternatif yang dapat diterima), Anda dapat menganggap array tidak akan pernah lebih dari 32 elemen.
[false, false, true, false, false]
Keluaran
Balikkan setiap elemen array dan keluarkan.
[true, true, false, true, true]
Aturan
- Anda dapat menulis program lengkap atau hanya sebuah fungsi
- Celah standar berlaku
- Kode terpendek dalam byte, per bahasa, menang!
Uji kasus
Input:
[true, false]
Output:
[false, true]
Input: //Example of acceptable alternative
[0,1,1]
Output:
[1,0,0]
code-golf
array-manipulation
logic
Shaun Wild
sumber
sumber
0
(false, semua 0 bit) dan-1
(benar, semua 1 bit)?Jawaban:
05AB1E , 1 byte
Kode:
Penjelasan:
Cobalah online!
sumber
Jeli , 1 byte
Cobalah online!
¬
adalah logis BUKAN (1 jika false-y, kalau tidak 0).C
("Komplemen", 1 − z ) juga berfungsi.sumber
Javascript ES6, 15 byte
Kurasa tidak perlu banyak penjelasan
sumber
Matlab,
41 byteIni harus jelas.
Matlab memiliki operator negasi satu byte
~
, jika Anda menginginkan fungsi yang dapat Anda gunakan@not
.sumber
@
,n
egate,o
utput,t
erminate, kan?~
merupakan jawaban yang tepat karena operatorlah yang menerima argumen. Saya pikir~[1,0,0,1,0]
sepenuhnya tepat.Haskell, 7 byte
Contoh:
sumber
not<$>
, tapi itu bukan ekspresi yang valid; Anda tidak dapat menulisf = not<$>
dan kemudianf [False, True, True]
; irisan operator membutuhkan tanda kurung di sekitarnya, yang akan berkontribusi terhadap jumlah byte.MATL , 1 byte
Cobalah online!
~
adalah logis bukan dan banyak fungsi, itu juga dapat diterapkan ke array / matriks.sumber
C, 46 Bytes versi rekursif
C, 47 Bytes versi berulang
Jalankan menggunakan fungsi utama ini
dan masukan seperti ini
sumber
R, 1 byte
Contoh:
Ini juga bekerja dengan input numerik:
Kami juga tidak terbatas pada array satu dimensi. Mari kita membuat matriks, dan mengisinya secara acak dengan 0s dan 1s:
Kami dapat membalikkan ini dengan mudah:
Kita dapat terus melakukan ini untuk sejumlah dimensi yang berubah-ubah. Berikut ini contoh array empat dimensi:
Saya rasa tidak bekerja untuk karakter.
sumber
Perl 6 , 4 byte
"Perancis" / versi Unicode:
"Texas" / versi ASCII:
Input adalah nilai tunggal yang dapat diperlakukan sebagai daftar.
Ini adalah Apapun lambda (
*
) dengan operator logika bukan awalan (!
) digabungkan menggunakan operator hiper awalan («
) .Secara efektif ini sama dengan:
Pemakaian:
sumber
{!«@_}
:)!**
harus bekerja jugaLabirin , 9 byte
Cobalah online! Mengasumsikan input yang dipisahkan oleh baris baru dengan baris baru yang tertinggal. Terima kasih kepada @MartinEnder untuk bantuan bermain golf.
Program ini agak aneh untuk program Labyrinth - program ini tidak menggunakan sifat 2D bahasa tersebut, dan sebenarnya memantul ke depan dan ke belakang. Pada perjalanan maju pertama, kami memiliki:
Kejadian selanjutnya dari
$
XOR adalah 0 yang ada pada stack denganc
, sebagai lawan dari 0 implisit di bagian bawah stack seperti di jalankan pertama. Kedua situasi meninggalkan tumpukan sebagai[c]
, dan program berulang setelahnya.Alternatif 9-byte:
sumber
:)
Mathematica, 7 byte
atau tanpa surat:
Adapun gula sintaksis:
&
menandai ujung kanan fungsi yang tidak disebutkan namanya dan memiliki prioritas yang sangat rendah.#
mengacu pada argumen pertama yang terdekat dan terlampir&
.!
adalah operator untukNot
. Jadi!#&
hanya fungsi tanpa nama yang meniadakan argumennya, dengan kata lain identik dengan built-inNot
./@
adalah operator untukMap
. Jadi kodenya juga akan setara dengan yang agak terbacaMap[Not, #]&
.sumber
!#&/@#&
saya bisa membaca itu? :)Not
tidak terdaftarPython,
272524 byteTerima kasih kepada Lynn untuk bermain golf dua byte, dan xnor dan Mego untuk bermain golf lainnya.
sumber
0
/1
diizinkan, dan1-b
lebih pendek darinot b
. Saya bertanya kepada OP apakah array dari0
/-1
diizinkan, dalam hal~b
ini bahkan lebih pendek.for
bisa dijatuhkan.1for
itu akan diurai sebagai dua token yang terpisah. Hah, TIL.C #, 19 byte
sebagai fungsi anonim, ambil bool [] dan kembalikan IEnumerable
atau dalam 36 byte dengan
sumber
Formula IBM / Lotus Notes, 2 byte
Pemakaian:
Buat formulir Notes dengan dua bidang bernama a dan b.
a (input) = dapat diedit, angka, multi-nilai, dipisahkan koma
b (output) = dihitung, angka, multi-nilai, dipisahkan koma
Rekatkan rumus di atas ke dalam b dan beri nilai default 0.
Buat dokumen baru dengan formulir, masukkan daftar biner di dan tekan F9 untuk memperbarui output.
Contoh:
Berfungsi karena diberi daftar sebagai input, rumus Notes akan menerapkan tindakan apa pun yang ditentukan untuk setiap elemen dalam daftar.
sumber
J, 2 byte
Ini adalah kata kerja negasi.
Kasus cobaan
sumber
Swift 3 (7 byte)
misalnya
Penjelasan
Tampak cukup jelas. Panggilan
map
pada array[true, false]
. Satu "gotcha" adalah bahwa, di Swift, operator hanyalah fungsi dan dapat diedarkan sebagai argumen. Ini berartimap(!)
meneruskan fungsi "tidak"!
kemap
.sumber
Bahasa Pemrograman Shakespeare , 240 byte
Mengambil input sebagai string
\0
dan\1
mengontrol karakter. Output sebagai string0
atau1
. Jika input harus sama dengan output, gantiOpen thy heart
denganSpeak thy mind
tanpa perubahan bytecount. Jika\0
dan\1
tidak dapat digunakan, lakukan di atas, tetapi juga gantiOpen your mind
denganListen to thy heart
untuk penalti 5-byte.Tidak Disatukan:
Ini secara kasar diterjemahkan ke kode p C berikut:
Saya menggunakan penerjemah ini . Contoh dijalankan:
sumber
JAISBaL , 1 byte
Seperti semua jawaban 1-byte lainnya, ini adalah operator negasi, yang dapat beroperasi melalui array jika diperlukan. Ini meninggalkan output pada stack, yang dicetak pada akhir program.
Untuk dua byte, array dapat dicetak secara eksplisit:
Input dalam format array JAISBaL yang sangat aneh (yang saya temukan, tapi saya tidak menyukainya ...).
Uji Kasus (Output dari Java interpreter, 3.0.5):
sumber
PowerShell, 15 byte
Saya pikir ini bahkan dapat bekerja di v1, maka saya meninggalkan nomor versi dari judul Loop melalui input
$args
dan meniadakan setiap item pada gilirannya. Array yang dihasilkan ditinggalkan di saluran pipa.Hal yang rapi, bagaimanapun, adalah karena PowerShell sangat longgar pada persyaratan casting-nya, Anda dapat melakukan input yang sepenuhnya tercampur dan mendapatkan output Boolean yang sesuai. Sebagai contoh, berikut adalah nilai Boolean literal
$false
/$true
, angka0
1
dan123456789
bilangan bulat, string kosong, string tidak kosong, array kosong, dan array tidak kosong -sumber
Perl, 7 byte
Termasuk +2 untuk
-lp
Berikan setiap nilai boolean sebagai 0 atau 1 pada barisnya sendiri
invert.pl
:sumber
Brachylog , 7 byte
Cobalah online!
Penjelasan
sumber
Cheddar, 10 byte
Saya harap saya menghitung saat saya menulis dari telepon
sumber
fn.vec((!))
jika itu pernah dirilis: PJava, 58 byte
sumber
arr
kea
(hemat 4 byte), tulisint[]a
alih-alihint a[]
(hemat 1 byte),brainfuck (58 Bytes)
Coba di sini
Tidak disatukan
Mengambil input 1s atau 0s yang tidak terbagi (11001).
sumber
Logicode ,
98 byteSederhana, sungguh.
Mengambil input sebagai string biner, karena Logicode tidak memiliki dukungan untuk daftar (demikian
[true, false]
juga10
).The
out
output hasil garis ini.The
!
perintah menghitung TIDAK setiap bit dalam string, jadi sesuatu seperti!111
akan000
.Itu
binp
adalah input biner.1 byte disimpan berkat @daHugLenny
sumber
out
dan!binp
.CJam , 4 byte
Input adalah daftar
0
s dan1
s.Cobalah online!
sumber
Japt, 3 byte
Japt tidak memiliki input boolean, jadi input adalah array 0s dan 1s. Uji secara online!
Bagaimana itu bekerja
sumber
Retina , 3 byte
Cobalah online!
Untuk setiap baris (
%
), hitung jumlah0
s.sumber
Python 2, 24 byte (tidak bersaing)
Logika ini mirip dengan Steven, tapi saya mencoba untuk menggunakan ini ide komentar, tapi yang berbeda, karena masih membutuhkan
0
/1
array, tidak0
/-1
. Tidak ada byte cukur untuk menggunakan0
/-1
, jadi mari kita waras. Perhatikan bahwa ini tidak bersaing, sampai Steven atau Lynn mengizinkan saya menggunakan gagasan itu. Jika demikian, saya mungkin menghapus tanda yang tidak bersaing. Perhatikan bahwa kode ini tidak dapat dicuri tanpa malu-malu, masih ada di sini. Hanya Steven yang dapat menggunakannya untuk jawabannya.sumber
Ruby, 14 byte
Fungsi anonim:
Menguji:
sumber