Top Code 2024, les challenges sont de nouveau disponibles dans les boards pour les participant(e)s => Boards

Illustration visuelle du challenge de code : Le train va t-il arriver à l’heure ?

Le train va t-il arriver à l’heure ?

Analyse le trajet de ce train, il va rencontrer quelques obstacles… Arrivera t-il à l’heure ?

Code : TRAIN_1

Mission

Un voyage en train, on le sait tous, n’est pas toujours un long fleuve tranquille. On sait normalement à quelle heure il part, mais pas toujours à quelle heure il arrive !

L’objectif est de déterminer la durée de voyage du train en fonction des évènements du trajet :

  • Arrêts dans des gares (jusque-là rien d’anormal)
  • Coupure(s) de courant
  • Incident(s) naturel(s) sur la voie

Règles

Le trajet est présenté sous cette forme : (dans la variable « events »)

T__N__P____N___T___T

Explications :

  • T signifie une gare (Train station)
  • Le trajet commence donc toujours par un T et finit toujours par un T
  • P signifie une coupure de courant (Power break)
  • N signifie un incident naturel sur la voie (Natural incident)
  • Un « _ » signifie que le train roule à pleine vitesse

Vitesses du train :

  • À pleine vitesse, le train roule à 200km/h.
  • À l’approche d’une gare, le train roule à 50km/h pendant 5km.
  • Au départ d’une gare, le train roule à 50km/h pendant 5km.
  • Lors d’une coupure de courant, le train roule à 5km/h pendant 10km.
  • Lors d’un incident naturel, le train roule à 10km/h pendant 5km.
  • On ne gère pas de notion d’accélération ou autre, il faut considérer que ce sont des moyennes sur les distances énoncées.

Le challenge renvoie également la distance totale à parcourir par le train, en km (dans la variable « distance »)

Tu dois retourner :

La durée totale, en secondes, du trajet complet du train.

Résoudre le challenge

Pour coder ce challenge, plusieurs possibilités. Si tu débutes, utilise la Sandbox en ligne. Si tu es plus à l'aise, regarde la documentation de notre API, pour coder en local. Tu peux aussi copier/coller un jeu de données ci-dessous.

Quelques ressources pour t'aider : Données et logique algorithmique Méthodologies Corrigés

Accompagnement à la résolution

Progresse dans les challenges en utilisant nos aides à la résolution : outils, techniques et conseils pour t'aider à surmonter les challenges de programmation les plus complexes avec méthodologie, assurance et créativité.

Jeu de données et logique algorithmique

A partir des données et de la réponse attendue, aide toi du déroulé pour déterminer la logique à mettre en oeuvre.

Afficher les données et le déroulé

Méthodologies

Développe une approche structurée grâce à nos guides de résolution. Travaille des concepts précis comme la programmation orientée objet ou les tests unitaires, pour améliorer ta manière de coder et progresser.

Pas de méthodologie encore pour ce challenge, mais on y travaille ! Suis-nous pour être informé de la sortie !


Corrigés

Les corrigés te permettent de découvrir certains concepts techniques mais vont aussi te donner une solution au challenge. Code le challenge par toi même avant de consulter les corrigés ;)

Concept(s) de programmation utilisables pour résoudre ce challenge : Programmation Orientée Objet, Fonctions, Parsing

Keep coding

Autres challenges à réaliser

Débutant
Collectionneur de figurines

Collectionneur de figurines

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

Calcul Corrigé disponible : PHP
Intermédiaire
Dépouillement des bulletins de vote

Dépouillement des bulletins de vote

Participe au dépouillement de l’élection en aidant à trier les bulletins.

Calcul
Intermédiaire
Retour vers le futur

Retour vers le futur

Marty a cassé la DeLorean, et fait des sauts dans le temps… Aide le à garder le fil…

Calcul

Ta newsletter chaque mois

Corrigés, challenges, actualités, veille technique... aucun spam.