Na matemática, um ponto de exclamação !
geralmente significa fatorial e vem depois da discussão.
Na programação, um ponto de exclamação !
geralmente significa negação e vem antes do argumento.
Para esse desafio, aplicaremos essas operações apenas a zero e um.
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
Pegue uma sequência de zero ou mais !
's, seguida por 0
ou 1
, seguida de zero ou mais !
' s ( /!*[01]!*/
).
Por exemplo, a entrada pode ser !!!0!!!!
ou !!!1
ou !0!!
ou 0!
ou 1
.
O !
antes 0
ou depois das 1
negações e o !
depois são fatoriais.
O fatorial tem maior precedência do que a negação, portanto, os fatoriais são sempre aplicados primeiro.
Por exemplo, !!!0!!!!
realmente significa !!!(0!!!!)
, ou melhor ainda !(!(!((((0!)!)!)!)))
.
Saída da aplicação resultante de todos os fatoriais e negações. A saída será sempre 0
ou 1
.
Casos de teste
0 -> 0
1 -> 1
0! -> 1
1! -> 1
!0 -> 1
!1 -> 0
!0! -> 0
!1! -> 0
0!! -> 1
1!! -> 1
!!0 -> 0
!!1 -> 1
!0!! -> 0
!!!1 -> 0
!!!0!!!! -> 0
!!!1!!!! -> 0
O código mais curto em bytes vence.