Uno agradable simple
Entrada
Dada una matriz booleana (o una alternativa aceptable), puede asumir que la matriz nunca tendrá más de 32 elementos de largo.
[false, false, true, false, false]
Salida
Invierte cada elemento de la matriz y lo genera.
[true, true, false, true, true]
Reglas
- Puedes escribir un programa completo o solo una función
- Se aplican lagunas estándar
- ¡El código más corto en bytes, por idioma, gana!
Casos de prueba
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
fuente
fuente
0
(falso, todos los 0 bits) y-1
(verdadero, todos los 1 bits)?Respuestas:
05AB1E , 1 byte
Código:
Explicación:
Pruébalo en línea!
fuente
Gelatina , 1 byte
Pruébalo en línea!
¬
es lógico NO (1 si es falso-y, de lo contrario 0).C
("Complemento", 1 − z ) también funciona.fuente
Javascript ES6, 15 bytes
No se necesita mucha explicación, supongo
fuente
Matlab,
41 byteEsto debería explicarse por sí mismo.
Matlab tiene el operador de negación de un byte
~
, si desea una función que pueda usar@not
.fuente
@
rgument,n
egate,o
utput,t
erminate, ¿verdad?~
es una respuesta apropiada ya que es un operador que recibe un argumento. Creo que~[1,0,0,1,0]
es completamente apropiado.Haskell, 7 bytes
Ejemplo:
fuente
not<$>
, pero esa no es una expresión válida; no puedes escribirf = not<$>
y luegof [False, True, True]
; los segmentos de operador necesitan paréntesis a su alrededor, lo que contribuiría al recuento de bytes.MATL , 1 byte
Pruébalo en línea!
~
es el lógico no y tantas funciones, también se puede aplicar a matrices / matrices.fuente
C, 46 Bytes versión recursiva
C, 47 bytes versión iterativa
Ejecute con esta función principal
y entrada como esta
fuente
R, 1 byte
Ejemplo:
También funciona con entrada numérica:
Tampoco estamos restringidos a matrices unidimensionales. Hagamos una matriz y rellene al azar con 0s y 1s:
Podemos invertir esto con la misma facilidad:
Podemos continuar haciendo esto para números arbitrarios de dimensiones. Aquí hay un ejemplo en una matriz de cuatro dimensiones:
No funciona para los personajes, me temo.
fuente
Perl 6 , 4 bytes
Versión "francesa" / Unicode:
Versión "Texas" / ASCII:
La entrada es un valor único que puede tratarse como una lista.
Esto es aa Cualquiera que sea lambda (
*
) con el operador lógico no prefijo (!
) combinado usando el prefijo hiper operador («
) .Efectivamente, esto es lo mismo que:
Uso:
fuente
{!«@_}
:)!**
también debería funcionarLaberinto , 9 bytes
Pruébalo en línea! Asume una entrada separada por nueva línea con una nueva línea final. Gracias a @MartinEnder por su ayuda con el golf.
Este programa es un poco extraño para un programa Labyrinth: no hace uso de la naturaleza 2D del lenguaje, y en realidad rebota de un lado a otro. En el primer viaje de ida, tenemos:
La siguiente aparición de
$
XOR entonces el 0 existente en la pila conc
, a diferencia de un 0 implícito en la parte inferior de la pila como en la primera ejecución. Ambas situaciones dejan la pila como[c]
, y el programa se repite a partir de entonces.Alternativa de 9 bytes:
fuente
:)
Mathematica, 7 bytes
o sin letras:
En cuanto al azúcar sintáctico:
&
marca el extremo derecho de una función sin nombre y tiene muy poca precedencia.#
se refiere al primer argumento del más cercano y delimitador&
.!
es el operador paraNot
. Entonces,!#&
es solo una función sin nombre que niega su argumento, en otras palabras, es idéntico al incorporadoNot
./@
es el operador paraMap
. Entonces el código también sería equivalente al algo más legibleMap[Not, #]&
.fuente
!#&/@#&
supone que debo leer eso? :)Not
no sea listablePython,
272524 bytesGracias a Lynn por jugar golf en dos bytes, y xnor y Mego por jugar golf en otro.
fuente
0
/1
están permitidas y1-b
es más corta quenot b
. Le pregunté al OP si se permiten matrices de0
/-1
, en cuyo caso~b
es aún más corto.for
podría ser eliminado.1for
se analizaría como dos fichas separadas. Huh, TIL.C #, 19 bytes
como una función anónima, toma un bool [] y devuelve un IEnumerable
o en 36 bytes con
fuente
Fórmula IBM / Lotus Notes, 2 bytes
Uso:
Cree un formulario de Notas con dos campos llamados a y b.
a (entrada) = editable, número, valor múltiple, separados por comas
b (salida) = calculado, número, multivalor, separado por comas
Pegue la fórmula anterior en b y proporcione un valor predeterminado de 0.
Cree un nuevo documento con el formulario, ingrese una lista binaria en ay presione F9 para actualizar la salida.
Ejemplos:
Funciona porque, dada una lista como entrada, la fórmula de Notes aplicará cualquier acción especificada a cada elemento de la lista.
fuente
J, 2 bytes
Este es el verbo de negación.
Caso de prueba
fuente
Swift 3 (7 bytes)
p.ej
Explicación
Parece bastante obvio. Llamadas
map
en la matriz[true, false]
. El único "problema" es que, en Swift, los operadores son solo funciones y se pueden pasar como argumentos. Esto significa quemap(!)
está pasando la función "no"!
amap
.fuente
Lenguaje de programación Shakespeare , 240 bytes
Toma de entrada como una cadena de
\0
y\1
caracteres de control. Salidas como una cadena de0
o1
. Si la entrada debe ser la misma que la salida, reemplaceOpen thy heart
conSpeak thy mind
por ningún cambio en ByteCount. Si\0
y\1
no se pueden utilizar, hacer lo anterior, sino también sustituirOpen your mind
conListen to thy heart
una pena de 5 bytes.Sin golf:
Esto se traduce aproximadamente al siguiente pseudocódigo C:
Estoy usando este intérprete . Ejecución de muestra:
fuente
JAISBaL , 1 byte
Como todas las otras respuestas de 1 byte, este es el operador de negación, que puede operar sobre una matriz si es necesario. Esto deja la salida en la pila, que se imprime al final del programa.
Para dos bytes, la matriz se puede imprimir explícitamente:
La entrada está en el formato de matriz increíblemente extraño de JAISBaL (que inventé, pero no me gusta ...).
Casos de prueba (Salida del intérprete de Java, 3.0.5):
fuente
PowerShell, 15 bytes
Creo que esto incluso puede funcionar en v1, por lo tanto, dejé el número de versión fuera del título. Recorre la entrada
$args
y niega cada elemento por turno. Esa matriz resultante se deja en la tubería.Sin embargo, lo bueno es que PowerShell es tan flexible en sus requisitos de conversión que puede hacer una entrada completamente mixta y obtener una salida booleana adecuada. Por ejemplo, aquí están los valores booleanos literales
$false
/$true
, los números0
1
y123456789
como enteros, una cadena vacía, una cadena no vacía, una matriz vacía y una matriz no vacía:fuente
Perl, 7 bytes
Incluye +2 para
-lp
Dé a cada valor booleano como 0 o 1 en su propia línea
invert.pl
:fuente
Brachylog , 7 bytes
Pruébalo en línea!
Explicación
fuente
Cheddar, 10 bytes
Espero haber contado bien mientras escribo desde el teléfono
fuente
fn.vec((!))
si alguna vez se lanzó: PJava, 58 bytes
fuente
arr
aa
(ahorra 4 bytes), escriba enint[]a
lugar deint a[]
(ahorra 1 byte),brainfuck (58 bytes)
Pruébalo aquí
Sin golf
Toma una entrada de 1s o 0s no divididos (11001).
fuente
Logicode ,
98 bytesSimple, de verdad.
Toma la entrada como una cadena binaria, ya que Logicode no tiene soporte para listas (por
[true, false]
lo que sería10
).los
out
emite el resultado de la línea.El
!
comando calcula el NOT de cada bit en la cadena, por lo que algo así!111
sería000
.La
binp
entrada es binaria.1 byte guardado gracias a @daHugLenny
fuente
out
y!binp
.CJam , 4 bytes
La entrada es una lista de
0
sy1
s.Pruébalo en línea!
fuente
Japt, 3 bytes
Japt no tiene entrada booleana, por lo que la entrada es una matriz de 0s y 1s. ¡Pruébelo en línea!
Cómo funciona
fuente
Retina , 3 bytes
Pruébalo en línea!
Para cada línea (
%
), cuente el número de0
s.fuente
Python 2, 24 bytes (no competitivos)
La lógica es similar a la de Steven, pero traté de usar la idea de este comentario, pero diferente, porque todavía toma
0
/1
arrays, no0
/-1
. No hay afeitado de bytes para usar0
/-1
, así que seamos cuerdos. Tenga en cuenta que esto no es competitivo, hasta que Steven o Lynn me permitan usar la idea. Si es así, podría eliminar la marca no competitiva. Tenga en cuenta que este código no se puede robar descaradamente, todavía está aquí. Solo Steven puede usarlo para su respuesta.fuente
Rubí, 14 bytes.
Función anónima:
Pruébalo:
fuente