#Python 2, 88 bytes Simple solution. <!-- language-all: lang-python --> s=input() m=map(lambda x,y:y>x,s[:-1],s[1:]) print all(x-y for x,y in zip(m[:-1],m[1:])) [**Try it online**][1] If same letters in a row was neither rise nor fall, the solution is 79 bytes: s=input() m=map(cmp,s[:-1],s[1:]) print all(x-y for x,y in zip(m[:-1],m[1:])) [1]: https://repl.it/D7DP