(inspiré par ce défi sur Puzzling - les SPOILERS pour ce puzzle sont ci-dessous, alors arrêtez de lire ici si vous voulez résoudre ce puzzle par vous-même!)
Si une lettre d'un mot apparaît alphabétiquement plus tard que la lettre précédente du mot, nous appelons cela une élévation entre les deux lettres. Sinon, même si c'est la même lettre , ça s'appelle une chute .
Par exemple, le mot ACE
a deux montées ( A
vers C
et C
vers E
) et aucune chute, tandis qu'il THE
a deux chutes ( T
vers H
et H
vers E
) et aucune montée.
Nous appelons un mot cahoteux si la séquence de montées et de chutes alterne. Par exemple, BUMP
va monter ( B
à U
), tomber ( U
à M
), monter ( M
à P
). Notez que la première séquence n'a pas besoin d'être une montée - BALD
va chute-montée-chute et est également cahoteuse.
Le défi
Étant donné un mot, affichez s'il s'agit ou non de Bumpy.
Contribution
- Un mot (pas nécessairement un mot du dictionnaire) composé uniquement de lettres (
[A-Z]
ou[a-z]
) alphabétiques ASCII , dans n'importe quel format approprié . - Votre choix si l'entrée est entièrement en majuscules ou en minuscules, mais elle doit être cohérente.
- Le mot comptera au moins 3 caractères.
Sortie
Une valeur truey / falsey pour savoir si le mot d'entrée est Bumpy (véridique) ou non Bumpy (falsey).
Les règles
- Un programme complet ou une fonction sont acceptables.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
Exemples
Vérité:
ABA
ABB
BAB
BUMP
BALD
BALDY
UPWARD
EXAMINATION
AZBYCXDWEVFUGTHSIRJQKPLOMN
Falsey:
AAA
BBA
ACE
THE
BUMPY
BALDING
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Classements
Voici un extrait de pile permettant de générer à la fois un classement régulier et un aperçu des gagnants par langue.
Pour vous assurer que votre réponse apparaît, commencez votre réponse par un titre, en utilisant le modèle Markdown suivant:
# Language Name, N bytes
où N
est la taille de votre soumission. Si vous améliorez votre score, vous pouvez conserver les anciens scores en les effaçant. Par exemple:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Si vous souhaitez inclure plusieurs numéros dans votre en-tête (par exemple, parce que votre score est la somme de deux fichiers ou si vous souhaitez répertorier séparément les pénalités d'indicateur d'interprétation), assurez-vous que le score réel est le dernier numéro de l'en-tête:
# Perl, 43 + 2 (-p flag) = 45 bytes
Vous pouvez également faire du nom de la langue un lien qui apparaîtra ensuite dans l'extrait de classement:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
BUMP
est répertorié dans Truthy (c'est-à-dire Bumpy), pourquoi BUMPY
est-il dans la liste Falsey? Que signifie «monte et descend alterné»? Deux ascensions ne peuvent pas se succéder?
BUMPY
est faux car MPY
donne deux hausses consécutives. En d'autres termes, aucune sous-chaîne de longueur 3 ne doit être triée par ordre croissant ou décroissant pour qu'un mot soit cahoteux (sauf dans le cas particulier où deux lettres consécutives sont identiques).