Visual illustration of the code challenge: +3 Days ! #4 L’empreinte environnementale

+3 Days ! #4 L’empreinte environnementale

Et l’impact environnemental ?

Coding in the sandbox You must be logged in to access the sandbox.

Mission

Ce challenge est issu de l’histoire originale Naya +3 days !

En avançant dans son enquête, Naya comprend qu’une friction ne coûte pas seulement du temps. Dans MobilityOS, certains signaux internes permettent aussi d’estimer l’impact environnemental discret laissé par les trajets qui accrochent : saturation, détours, surconsommation, pression sur certaines zones. La fluidité n’est donc plus seulement une question de confort. Elle devient aussi une question d’équilibre et de sobriété environnementale.

Naya découvre alors une nouvelle contrainte : un budget environnemental que la ville cherche à respecter. Mais toutes les optimisations n’ont pas la même efficacité : certaines promettent un gain limité, d’autres permettent d’éviter beaucoup plus d’impact pour un effort comparable. Avant d’aller plus loin, Naya doit identifier les optimisations les plus efficaces, puis vérifier si, une fois retenues, elles permettent de rester dans le budget.

Règles

Tu réussis à récupérer plusieurs dossiers d’études d’impact environnemental liés à des dispositifs de transport urbain. Grâce à une analyse IA de ces rapports, tu peux enrichir ton tableau de frictions habituel avec des données complémentaires.

Tu disposes désormais, pour chaque friction, de 3 informations :

  • le type de friction
  • le nombre de secondes récupérables grâce à une optimisation
  • l’impact environnemental évitable associé à cette optimisation

Dans le tableau frictions, chaque élément a donc le format suivant :

(type de friction):(durée en secondes à récupérer):(impact environnemental évitable)

Tu as également 2 autres informations :

  • budget : un entier présentant le budget environnemental de la ville dédié à la mobilité
  • ratio_min : le ratio minimal à respecter pour appliquer ou non une action

Pour chaque friction, il faudra donc calculer le ratio associé, grâce au calcul :

ratio = impact environnemental évitable / secondes à gagner

Si le ratio est égal ou supérieur à ratio_min, alors l’optimisation associée à cette friction devient une candidate valable.

Mais attention : pour chaque type de friction, tu ne conserveras qu’une seule optimisation, celle dont le ratio est le plus élevé.

Tu dois donc parcourir toutes les frictions, retenir les meilleures optimisations valides pour chaque type, calculer le total des impacts environnementaux évitables retenus, puis retourner la valeur absolue de l’écart entre ce total et le budget.

Comme pour tous les challenges, n’hésite pas à te référer à la section « données et logique algorithmique ».

Solve the challenge

To code this challenge, several possibilities:
- Want to start coding right away? Use the online Sandbox.
- You can also copy/paste a dataset below.

challenge code for resolution via API: THREEDAYS_4

Some resources to help you:
Data and algorithmic logic Methodologies Corrections

Support for resolution

Progress through challenges using our resolution aids: tools, techniques and advice to help you overcome the most complex programming challenges with methodology, confidence and creativity.

Dataset and algorithmic logic

Based on the data and the expected response, use the process to determine the logic to implement.

Show data and progress

Methodologies

Develop a structured approach with our solving guides. Work on specific concepts such as object-oriented programming or unit testing to improve your coding style and progress.

No methodology yet for this challenge, but we are working on it! Follow us to be informed of the release!


Corrections

The corrections allow you to discover certain technical concepts but will also give you a solution to the challenge. Code the challenge yourself before consulting the corrections ;)

No answer yet for this challenge, but we&'re working on it! Follow us to be informed of the release!

Programming concept(s) that can be used to solve this challenge: Conditions, Tableaux, Parsing, Calculs

Keep coding

Other challenges to complete

Advance
CodeMind #5 : Procrastination

CodeMind #5 : Procrastination

Affronte la procrastination en développant un module de gestion de projets. Deviens maître de ton temps et transforme la flemme en productivité !

Calculation
Beginner
AlgoPark #2 : la grande Roue

AlgoPark #2 : la grande Roue

Analyse le fonctionnement de la grande roue pour rentrer davantage dans les méandres du parc !

Calculation
Beginner
Collectionneur de figurines

Collectionneur de figurines

Tu dois aider un collectionneur de célèbres figurines à estimer le prix de sa collection.

Calculation Corrigé disponible : PHP