Retour aux défis
Facile 0 résolus 0 % de réussite

Péages des véhicules

Facturez des péages pour les motos, voitures et camions, où les camions prolongent la règle de base des véhicules avec des essieux.

Ce que vous allez apprendre

  • Réutiliser la règle du parent dans une sous-classe
  • Ajouter un supplément à un tarif de base
  • Choisir la bonne classe à partir d'une description

Problème

Avec l'héritage, une sous-classe réutilise le comportement de sa classe parente et y ajoute le sien. Chaque véhicule paie un péage ; un camion est un véhicule qui paie un supplément pour ses essieux.

Chaque véhicule est l'un des suivants :

  • motorbike: paie 2.
  • car: paie 5.
  • truck <axles>: paie le tarif de la voiture 5, plus 3 pour chaque essieu au-delà des deux premiers.

Implémentez vehicle_tolls(vehicles).

Entrée

vehicles: Les véhicules qui passent au péage.

Sortie

Retournez le total des péages collectés.

Contraintes

0 ≤ nombre de véhicules ≤ 100,000

2 ≤ essieux ≤ 10

Exemples

Exemple 1
Entrée :
vehicles = ["car", "motorbike", "truck 4"]

Sortie attendue :
expected = 18
Entrée :
std::vector<std::string> vehicles = {"car", "motorbike", "truck 4"};

Sortie attendue :
long long expected = 18;
Entrée :
string[] vehicles = new string[] {"car", "motorbike", "truck 4"};

Sortie attendue :
long expected = 18;

Explication

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

Exemple 2
Entrée :
vehicles = ["truck 2", "truck 3"]

Sortie attendue :
expected = 13
Entrée :
std::vector<std::string> vehicles = {"truck 2", "truck 3"};

Sortie attendue :
long long expected = 13;
Entrée :
string[] vehicles = new string[] {"truck 2", "truck 3"};

Sortie attendue :
long expected = 13;

Explication

Un camion à 2 essieux paie seulement le tarif de la voiture 5 ; un camion à 3 essieux paie 5 + 3 = 8. Total 13.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Partez du tarif voiture de 5 et ajustez selon le type de véhicule.

Indice 2

Un camion ne paie un supplément que pour les essieux au-delà des deux premiers.

Indice 3

Les motos remplacent la règle de base par un tarif fixe de 2.

Complexité attendue

temps O(nombre de véhicules), espace supplémentaire O(1)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.