Saltar al contenido

El rumbo del velero

Enunciado

El velero volvió a puerto con la bitácora llena de rumbos: cada vez que el piloto corregía, anotaba hacia dónde apuntaba la proa, en grados de 0 a 359. El armador quiere saber cuánto giró el timón en toda la travesía.

Escribe una función que reciba la lista de rumbos, en orden, y regrese la suma de los giros entre cada rumbo y el siguiente, un entero. Cada giro se toma por el lado más corto: de 350 a 10 son 20 grados pasando por el norte, no 340. Con [90, 120, 350, 20]: 30 + 130 + 30 = 190.

Un giro nunca pasa de 180; si es exactamente 180, cuenta 180. Si dos rumbos seguidos son iguales, ese giro es 0. Con uno o ningún rumbo no hubo giros: regresas 0.

Ejemplos

  • Giros sin pasar por el norte

    [90, 120, 100] → 50

  • Cruzando el norte

    [350, 10] → 20

  • Media vuelta y de regreso

    [0, 180, 0] → 360

  • Un solo rumbo

    [45] → 0

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

Empiezas con esto

Python

def giro_total(rumbos):
    pass

JavaScript

function giroTotal(rumbos) {
}
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 →