Un lipograma es un bloque de palabras que omite un símbolo en particular. En este momento, estoy evitando nuestro quinto símbolo de 26 que comúnmente aparece. Ya deberías saber lo que estoy omitiendo. Si no, busque "lipograma" y lo sabrá.
Tu tarea
Con un carácter, un espacio en blanco y una cadena siguiente (pueden aparecer espacios en blanco en esto; con solo caracteres ASCII 32-126) en la entrada, salida falsa si este carácter está en la cadena de entrada, verdad si no. Este carácter que debe buscar siempre encajará en dos tramos: "A" a "Z" o "a" a "z" (ASCII 65-90, 97-122). No distinga capitales y no capitales. Además, no se preocupe por los espacios en blanco o los signos de puntuación. Tanto los programas como las funciones satisfacen. Además, puede dividir input char y string en dos argumentos para programas o funciones, y string como primer argumento está bien.
Ilustraciones
Verdad
e This is a lipogram.
a You need to consider other letters too.
E Capitals also count.
Falsa
e This sentence is not a lipogram (for e).
t This particular letter is surprisingly hard.
A You don't need to care about any non-alphabetic symbols.
Versión no lipogramada
Un lipograma es una serie de palabras que omiten una letra. Dejé la letra "e" arriba.
Su tarea es tomar un carácter y una cadena (que puede incluir espacios) como entrada, separados por un espacio o una nueva línea, y generar una salida falsa si el carácter está en la cadena y, de lo contrario, la verdad. Puede suponer que la cadena se compone únicamente de caracteres ASCII imprimibles (códigos de caracteres 32-126). El carácter siempre estará en el alfabeto inglés, y no hay diferencia entre minúsculas y mayúsculas. El personaje no será un espacio o símbolo. Puedes escribir un programa o una función. Para cualquiera, puede tomar el carácter y la cadena como argumentos separados, y la cadena puede ser lo primero.
fuente
Respuestas:
C, 42 bytes
fuente
Javascript ES6
342623 Bytesafeitado 8 bytes gracias @ MartinBüttner
fuente
/i
afectado\1
!05AB1E ,
7643 bytesCódigo:
Explicación:
Pruébalo en línea!
La verdad es cuando se emite la letra actual. Falsy es cuando no se emite nada.
fuente
-
eficazmente hace una operación de complemento ?TeaScript,
53 bytes¡Ajá! ¡Olvidé la entrada implícita! TeaScript insertará automáticamente
x.
(la entrada) al principio. Luego puedo verificar si tiene la otra entrada (en variableµ
) y, por lo tanto, un NOT (N
). Supongo que la mejor ventaja de TeaScript aquí es su entrada implícitaPruébalo en línea
Explicación
fuente
Bash,
1611 bytes-i
es la marca que no distingue entre mayúsculas y minúsculas,-v
invierte (comprueba si no coincide).El carácter debe proporcionarse como un argumento de línea de comando y la cadena de prueba en STDIN.
¡Reducido en 5 bytes con la ayuda de @ DigitalTrauma !
Ejecuciones de muestra:
fuente
grep -iv $1
. No veo mal cualquier cosa con la mezcla de STDIN y argumentos de línea de comandos como métodos de entrada - Me hecho antes - pero tal vez hay un precedente meta me he perdido ...^D
usuarios comenten esta respuesta? @Downgoat: ¿estás ahí? ;-)Japt,
1264 bytes¡Pruébalo en línea!
La respuesta TeaScript de @ Downgoat me recordó que Japt tiene exactamente el mismo incorporado, cortando los dos bytes finales.
Cómo funciona
fuente
CJam, 6 bytes
Pruébalo en línea! lel
Explicación
fuente
JavaScript (ES6), 29 bytes
fuente
c=>s=>!RegExp(c,"i").test(s)
, guardar un byte.c=>s=>!s.match(c,'i')
es 21. :)match
solo toma un argumento. El segundo argumento registra una advertencia de consola en Firefox 39 o posterior, y no funcionará en Firefox 47 en absoluto.Pitón 3, 36
Tener que ignorar el caso es sorprendentemente costoso.
Toma los argumentos como (char, string)
fuente
Pyth,
87 bytesExplicación
Gracias @FryAmTheEggman por decirme que puedo usar en
-
lugar de!}
Pruébalo aquí
fuente
O, 8 bytes
Una función anónima que toma un carácter y una cadena.
Pruébalo en línea.
Explicación
fuente
Perl, 11 + 1 = 12 bytes
Requiere el
-p
interruptor y toma la entrada como$string\n$letter
Cómo funciona:
fuente
<<<
). (Y usando STDIN normal (no<<<
), obtengo 1 a menos que la letra sea el último carácter de la cadena, porque no la pican) .)printf "this is a lipogram\ne\n" | perl -pe'$_=lc!~lc<>'
en su lugar.<<<
es la sintaxis bash.<<<
es solo otra forma de pasar stdin.Java, 63 bytes.
fuente
(s,c)->!s.matches("(?i:.*"+c+".*)")
que sea más cortaString
ychar
en alguna parte.MATL , 5 bytes
Pruébalo en línea!
fuente
En serio, 6 bytes
Pruébalo en línea!
Toma entrada como
'string'\n'char'
Explicación:
fuente
,ù,ùìuY
trabajo? (Eso supone que es la que hace que indexOf pero no recuerdo lo que uno hace eso)Julia 0.3,
2220 bytesuppercase
Es una palabra larga .Cómo funciona
fuente
Retina, 11
No estoy seguro de lo que cuenta como verdadero / falso en Retina, esto hará eco de la línea si es un lipograma para el carácter dado, y devolverá la cadena vacía si no lo es.
Esto también funcionará para la entrada multilínea.
Pruébalo en línea!
fuente
Minkolang 0.15 , 10 bytes
Pruébalo aquí.
Explicación
fuente
Óxido, 75 bytes
Mayor puntaje significa que gano, ¿verdad? > _ <
Pruébalo aquí.
fuente
Jalea, 8 bytes
Pruébalo en línea!
Cómo funciona
fuente
CJam, 10 bytes
Una función anónima (bloque) que toma un carácter (¡no una cadena!) Y una cadena.
Pruébalo en línea.
Explicación
fuente
PowerShell,
3632302925 bytesUtiliza el
-notmatch
operador y simplemente generaTrue
oFalse
.fuente
Python, 34 bytes
Comprueba si hay caracteres
c
estar en cadenas
, ignorando mayúsculas y minúsculas anexando una copia de casos y de intercambiarses
as
. La negación ha terminadonot
, lo que parece largo pero no veo mejor. Esta es la misma longitud:No puede omitir los parens o Python interpretará la expresión como una desigualdad de forma encadenada de tres valores
_ in _ < _
.Python 3.5 debería permitir 33 bytes a través de conversiones establecidas, aunque no puedo probarlo ahora.
fuente
Pyke, 7 bytes
Explicación:
fuente
JavaScript ES6,
4140 bytesToma toda la cadena como argumento. No puedo guardar bytes aceptando dos argumentos diferentes porque entonces mi respuesta se fundiría con la otra respuesta de ES6 :(
fuente
not in
.R, 26 bytes
x es la cadena, y es la letra, la T en la llamada a grepl hace que no distinga entre mayúsculas y minúsculas.
fuente
Jolf,
67 bytesEntonces. Muchos. Seis ¿SMS? Bueno, inténtalo aquí, no obstante. Reemplazar
⌂
con\x7f
.fuente
Rubí, 17 bytes
fuente
Lote, 53 bytes
Acepta entradas como dos argumentos de línea de comandos. (Cite el segundo argumento si es necesario.) Emite 1 en caso de éxito, nada si el primer argumento se encuentra (insensiblemente) en el segundo.
fuente
Mathematica,
3332 bytesMe encanta cuando se puede usar ##. La entrada es cadena, luego char.
O una versión sensible a mayúsculas y minúsculas: (11 bytes :)
Sí, solo un incorporado.
fuente