Visual illustration of the code challenge: CodeMind #6 : Réseaux sociaux

CodeMind #6 : Réseaux sociaux

Analyse l’impact des messages sur les réseaux sociaux et protège la santé mentale des utilisateurs. Détecte les risques et contribue à un espace plus positif.

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

Ce challenge fait partie de l’histoire originale : Codemind Odyssey.

Les premiers tests de CodeMind en conditions réelles sont concluants, les étudiant.e.s te font toutes et tous des retours très positifs ! Bravo pour le chemin déjà parcouru !

Dans ce sixième et dernier chapitre de l’aventure, l’exploration se porte sur l’influence significative des messages reçus via les réseaux sociaux sur la santé mentale. Il est évident que les mots ont un pouvoir considérable, capable soit d’améliorer, soit de dégrader le bien-être de celles et ceux qui les reçoivent.

Mission

Tu cherches à modéliser l’effet domino provoqué par la diffusion d’un message. Ta tâche est de développer une fonctionnalité au sein de CodeMind capable de prédire l’impact des messages échangés entre les utilisateurs d’un réseau social sur leur bien-être mental.

En analysant l’historique de milliers de messages d’un échantillon de personnes, tu arrives à définir certains comportements et à mettre en place une mécanique d’alerte…

Règles

Tous ces comportements sont dans la variable “impacts” qui explique comment les utilisateurs vont s’impacter les uns les autres lors de leurs échanges.

Chaque ligne commence par 2 informations :

  • L’identifiant de l’émetteur, une lettre, de A à Z (RGPD oblige, les données ont été anonymisées)
  • Un impact sur la santé mentale, un entier entre 1 et 9

Puis des impacts Positifs et Négatifs sur d’autres personnes :

  • PA ⇒ impact Positif sur la personne “A”
  • NS ⇒ impact Négatif sur la personne “S”
  • Lors de la diffusion d’un message, un émetteur a au minimum 1 impact Positif sur 1 personne et 1 impact Négatif sur 1 autre personne.

Mécaniques :

  • La variable « messages » contient tous les émetteurs des prochains messages.
  • Chaque personne commence avec une santé mentale de 100.
  • La santé mentale d’une personne est comprise entre 0 et 100.
  • Si l’émetteur du message est A, il faut trouver la ligne d’impact de A :
    • Appliquer l’impact positivement (+) aux personnes P… avec un coefficient (x2)
    • Appliquer l’impact négativement (-) aux personnes N…
    • Malheureusement, toutes les personnes impactées négativement vont à leur tour réagir avec un message “seulement” négatif, à leurs personnes N… avec un coefficient (-1) et ainsi de suite jusqu’à ce qu’il n’y ait plus d’impact (c’est à dire quand l’impact sera de 0).

Si ce n’est pas clair, voici un exemple pas à pas de cet effet domino :

  • A:3:PC:PE:NB “La personne A a un impact de 3, positif pour C et E et négatif pour B”
  • B:4:NC:NE:PF “La personne B a un impact de 4, positif sur F, négatif sur C et E”
  • C:5:PA:PE:ND
  • Lorsque A émet un message :
    • C voit sa santé mentale augmentée de 6 (3×2)
    • E voit sa santé mentale augmentée de 6 (3×2)
    • B voit sa santé mentale diminuée de 3
      • B a un impact négatif sur C et E, ce qui va donc impacter leur santé mentale de 2 chacun (3-1)
        • C a un impact négatif sur D et va donc impacter sa santé mentale de 1 (2-1)
        • On s’arrête là car le prochain impact serait de 0 (1-1)

Tu dois retourner…

Le moment précis où un ou plusieurs utilisateurs basculent vers un état de risque, marqué par une santé mentale dangereusement basse (inférieure ou égale à 20). Fournis le dernier émetteur et l’identité de l’utilisateur ou des utilisateurs en danger. On utilisera « _ » comme séparateur entre le dernier émetteur et le ou les personnes en danger.

Exemple de réponse :

  • D_V” = Le dernier émetteur est “D” et la personne à risque est la personne “V”
  • T_CA” = Le dernier émetteur est “T” et 2 personnes sont à risque : “C” et “A”

Solve the challenge

To code this challenge, several possibilities:
- Want to start coding right away? Use the online Sandbox.
- Want to work in your favorite editor? Organize your code well, test, check out our API documentation.
- You can also copy/paste a dataset below.

challenge code for resolution via API: CODEMIND_6

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: Récursivité, Calculs

Keep coding

Other challenges to complete

Intermediate
Environnement #1

Environnement #1

Parce que la sensibilisation à l’écologie, ça n’a pas de prix.
Calcule la réduction d’émissions de CO2 de ta voiture avec l’ajout d’équipements spéciaux !

Calculation
Beginner
Jeux Olympiques – le 100m

Jeux Olympiques – le 100m

Est ce que le record d’Usain Bolt peut tomber ?

Calculation
Beginner
Petits monstres mignons #4

Petits monstres mignons #4

Revoilà les petits monstres, ils ont bien mangé, ils ont quitté le repas, et maintenant… ils se rapprochent…

Calculation