Montañas o valles

Una montaña es un arreglo con exactamente un pico.

  • Todos los números a la izquierda del pico están en orden creciente.
  • Todos los números a la derecha del pico están en orden decreciente.
  • El pico NO PUEDE estar en uno de los extremos.

Un valle es un arreglo con exactamente un punto más bajo.

  • Todos los números a la izquierda del punto más bajo están en orden decreciente.
  • Todos los números a la derecha del punto más bajo están en orden creciente.
  • El punto más bajo NO PUEDE estar en uno de los extremos.

Algunos ejemplos de montañas y valles:

Mountain A:  [1, 3, 5, 4, 3, 2]   # 5 is the peak
Mountain B:  [-1, 0, -1]   # 0 is the peak
Mountain B:  [-1, -1, 0, -1, -1]   # 0 is the peak (plateau on both sides is okay)

Valley A: [10, 9, 8, 7, 2, 3, 4, 5]   # 2 is the trough
Valley B: [350, 100, 200, 400, 700]  # 100 is the trough

No son montañas ni valles:

Landscape A: [1, 2, 3, 2, 4, 1]  # 2 peaks (3, 4), not 1
Landscape B: [5, 4, 3, 2, 1]  # Peak cannot be a boundary element
Landscape B: [0, -1, -1, 0, -1, -1]  # 2 peaks (0)

Según las reglas anteriores, escribe una función que reciba un arreglo y devuelva "mountain", "valley" o "neither".

Ejemplos

landscape_type([3, 4, 5, 4, 3]) ➞ "mountain"

landscape_type([9, 7, 3, 1, 2, 4]) ➞ "valley"

landscape_type([9, 8, 9]) ➞ "valley"

landscape_type([9, 8, 9, 8]) ➞ "neither"

Notas

  • Un pico no es exactamente lo mismo que el max de un arreglo. El max es un número único, pero un arreglo puede tener varios picos. Sin embargo, si existe un solo pico en un arreglo, entonces es cierto que pico = max.
  • Consulta los comentarios para obtener una pista.