Saltar al contenido

El contorno de la melodía

Enunciado

Para reconocer una canción no hace falta saber las notas: basta con saber si cada una sube, baja o se repite. A ese dibujo se le llama el contorno, y así buscan canciones las apps que escuchan cuando tarareas.

Escribe una función que reciba una lista de alturas de notas, como números enteros, y regrese un texto con un carácter por cada nota a partir de la segunda, comparada con la nota justo anterior: "+" si sube, "-" si baja y "=" si se repite.

Con [60, 62, 62, 59, 64]: 62 sube, 62 se repite, 59 baja y 64 sube, así que regresas "+=-+". El texto mide uno menos que la lista.

Con una sola nota, o con la lista vacía, regresas el texto vacío "".

Ejemplos

  • El del ejemplo

    [60, 62, 62, 59, 64] → "+=-+"

  • Siempre baja

    [72, 71, 69, 67] → "---"

  • La misma nota

    [64, 64, 64] → "=="

  • Dos notas

    [55, 57] → "+"

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def contorno(notas):
    pass

JavaScript

function contorno(notas) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n)

Ver todos los retos →