(Inspirado por este desafío en Puzzling - A continuación encontrarás SPOILERS para ese rompecabezas, ¡así que deja de leer aquí si quieres resolver ese rompecabezas por tu cuenta!)
Si una letra en una palabra aparece alfabéticamente más tarde que la letra anterior en la palabra, llamamos a eso un aumento entre las dos letras. De lo contrario, incluso si es la misma letra , se llama caída .
Por ejemplo, la palabra ACE
tiene dos subidas ( A
to C
y C
to E
) y ninguna caída, mientras que THE
tiene dos caídas ( T
to H
y H
toE
) y ninguna subida.
Llamamos a una palabra desigual si la secuencia de subidas y bajadas alterna. Por ejemplo, BUMP
sube ( B
a U
), cae ( U
a M
), sube ( M
aP
). Tenga en cuenta que la primera secuencia no necesita ser un aumento: BALD
va caída-subida-caída y también es desigual.
El reto
Dada una palabra, muestra si es Bumpy o no.
Entrada
- Una palabra (no necesariamente una palabra del diccionario) que consta de letras del alfabeto (
[A-Z]
o[a-z]
) ASCII solamente, en cualquier formato adecuado . - Usted elige si la entrada es todo en mayúsculas o minúsculas, pero debe ser consistente.
- La palabra tendrá al menos 3 caracteres de longitud.
Salida
Un valor verdadero / falso para saber si la palabra de entrada es Bumpy (verdadero) o no Bumpy (falsey).
Las normas
- Un programa completo o una función son aceptables.
- Lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos
Verdad:
ABA
ABB
BAB
BUMP
BALD
BALDY
UPWARD
EXAMINATION
AZBYCXDWEVFUGTHSIRJQKPLOMN
Falsey
AAA
BBA
ACE
THE
BUMPY
BALDING
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Tablas de clasificación
Aquí hay un fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título, usando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Si desea incluir varios números en su encabezado (por ejemplo, porque su puntaje es la suma de dos archivos o desea enumerar las penalizaciones de la bandera del intérprete por separado), asegúrese de que el puntaje real sea el último número en el encabezado:
# Perl, 43 + 2 (-p flag) = 45 bytes
También puede hacer que el nombre del idioma sea un enlace que luego aparecerá en el fragmento de la tabla de clasificación:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
BUMP
aparece en Verdad (es decir, desigual), ¿por qué BUMPY
está en la lista de Falsey? ¿Qué significa "sube y baja alternativamente"? ¿Dos ascensos no pueden ser sucesivamente?
BUMPY
es falso porque MPY
da dos subidas consecutivas. En otras palabras, ninguna subcadena de longitud 3 debe clasificarse de forma ascendente o descendente para que una palabra tenga baches (aparte del caso especial donde dos letras consecutivas son idénticas).