Suite de l'Avent du Code, jour 13.
Encore des problèmes de communications, les paquets arrivent dans le désordre. Heureusement le protocole de communication permet de les ré-ordonner. Au boulot !
Suite de l'Avent du Code, jour 13.
Encore des problèmes de communications, les paquets arrivent dans le désordre. Heureusement le protocole de communication permet de les ré-ordonner. Au boulot !
# En Pypthon
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 5.
Pour la définition de
aoc.group_lines(lines: str)
, cf. hier[^] # Re: En Pypthon
Posté par Yth (Mastodon) . Évalué à 2.
Ah, j'avoue, j'ai même pas imaginé deux secondes faire un vrai parsing des données :)
[^] # Re: En Pypthon
Posté par GuieA_7 (site web personnel) . Évalué à 2.
Un gentil contributeur cette année m'a fait découvrir qu'à partir du moment où on utilise
from __future__ import annotations
, on peut déjà remplacerUnion[List[Element], int]
parlist[Element] | int
par exemple (testé sur Python 3.7 et suivant).# python, en trichant
Posté par steph1978 . Évalué à 4.
Je galérais à organiser ma comparaison de paquets, et j'ai eu un indice d'utiliser un comparateur. Je suis reparti là dessus et ça fonctionne.
[^] # Re: python, en trichant
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 6.
On peut tricher en moins craignos. Un indice :
[^] # Re: python, en trichant
Posté par steph1978 . Évalué à 2. Dernière modification le 13 décembre 2022 à 15:33.
Tu veux dire à la place du eval. Oui clairement, c'est moins craignos.
À la première lecture je pensais que tu voulais résoudre le problème en javascript 😓. Je veux dire juste en comparant les deux listes avec un
<
. J'ai tenté, ça marche presque 😛. Mais non en fait, les règles de comparaisons ne sont pas les mêmes.[^] # Re: python, en trichant
Posté par Yth (Mastodon) . Évalué à 3.
Ouais, j'ai essayé de faire un hack pour remplacer les chiffres seuls par des listes de chiffres, et après faire un json.loads() et juste comparer, en bricolant quelques trucs du genre on arrive à faire tourner les données de démo.
Pour faire court, c'est le premier exercice du calendrier où je n'ai pas fourni la bonne réponse du premier coup…
Après j'ai été moins « malin », et j'ai réussi…
[^] # Re: python, en trichant
Posté par Yth (Mastodon) . Évalué à 2.
J'ai un code équivalent, avec un peu plus de modélisation, mais sinon, c'est algorithmiquement identique :
Je n'ai pas songé à split("\n\n"), ça fait que j'ai une première partie qui bosse en flux, mais comme pour la seconde il faut trier, on est obligé d'avoir toutes les données chargées, change rien.
Et ma fonction de comparaison est très centrée sur l'exercice : a < b c'est True, a > b c'est False et a == b c'est None, ergo on poursuit. C'est plus propre de faire -1/0/1.
[^] # Re: python, en trichant
Posté par Yth (Mastodon) . Évalué à 2.
On peut faire un truc rigolo sur la partie travail, on garde packet et input() identiques, et on reste sur du générateur/itérateur jusqu'à la fin avec le sort :
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.