Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Peajes de vehículos

Cobrar peajes a motocicletas, coches y camiones, donde los camiones amplían la regla básica del vehículo con ejes.

Lo que aprenderás

  • Reutilizar la regla del padre en una subclase
  • Sumar un recargo sobre una tarifa base
  • Elegir la clase correcta a partir de una descripción

Problema

Ver original (inglés)

Con inheritance, una subclase reutiliza el comportamiento de su clase padre y añade el suyo propio. Cada vehículo paga un peaje; un camión es un vehículo que paga extra por sus ejes.

Cada vehículo es uno de:

  • motorbike: paga 2.
  • car: paga 5.
  • truck <axles>: paga la tarifa de coche 5, más 3 por cada eje más allá de los dos primeros.

Implementa vehicle_tolls(vehicles).

Entrada

vehicles: Los vehículos que pasan por la cabina de peaje.

Salida

Devuelve el peaje total recaudado.

Restricciones

0 ≤ número de vehículos ≤ 100,000

2 ≤ ejes ≤ 10

Ejemplos

Ejemplo 1
Entrada:
vehicles = ["car", "motorbike", "truck 4"]

Salida esperada:
expected = 18
Entrada:
std::vector<std::string> vehicles = {"car", "motorbike", "truck 4"};

Salida esperada:
long long expected = 18;
Entrada:
string[] vehicles = new string[] {"car", "motorbike", "truck 4"};

Salida esperada:
long expected = 18;

Explicación

5 + 2 + (5 + 3 × 2) = 18.

Ejemplo 2
Entrada:
vehicles = ["truck 2", "truck 3"]

Salida esperada:
expected = 13
Entrada:
std::vector<std::string> vehicles = {"truck 2", "truck 3"};

Salida esperada:
long long expected = 13;
Entrada:
string[] vehicles = new string[] {"truck 2", "truck 3"};

Salida esperada:
long expected = 13;

Explicación

Un camión de 2 ejes paga solo la tarifa de coche 5; un camión de 3 ejes paga 5 + 3 = 8. Total 13.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Empieza por la tarifa de coche de 5 y ajústala según el tipo de vehículo.

Pista 2

Un camión solo paga extra por los ejes que pasan de los dos primeros.

Pista 3

Las motos sustituyen la regla base por un fijo de 2.

Complejidad esperada

tiempo O(número de vehículos), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.