Codingame de mai 2013

28 May 2013

Codingame

Après ma deuxième place en janvier, ma 73ème en mars, j'ai participé à un nouveau Codingame le 28 mai 2013.

Codingame est un concours de développement ouvert à tous. Lors du concours, 2 problèmes sont proposés, qu'il faut résoudre dans le language de son choix. Le concours peut être fait pour le plaisir, et même permettre d'entrer en relation avec des recruteurs pour ceux qui le souhaitent.

Ce soir, 2 problèmes au programme.

Le premier exercice (Telephone numbers) est assez simple, il consiste à compter la taille d'un trie contenant des numéros de téléphone. Il n'y a même pas besoin de créer cette structure, il suffit de compter le nombre de cases mémoires nécessaires pour stocker les informations.

Le second exercice (Genome Sequencing) est plus complexe. Etant donné plusieurs séquence ADN (par exemple ACTGA, GACTC, …), il faut trouver la taille minimale de la séquence qui contient toutes les séquences. Le problème est bien plus compliqué, et je n'ai pas trouvé d'algorithme pour le résoudre dans le cas général. Heureusement, l'énoncé mentionne que le jeu d'essai est limité à 5 éléments, on peut donc utiliser la force brute et tester les 5! façons de concaténer les séquences. Il ne reste qu'à écrire la méthode de génération des permutations (ou plutôt de la copier/coller depuis stackoverflow), et de coder la méthode qui concatène deux séquences, ce qui est trivial.

J'ai terminé les deux exercices en environ une heure, avec 100% de bon résultats, et classé 16è (1er chez les javaistes). Comme la dernière fois, j'ai apprécié le temps passé à réflechir à ces exercices, et la sensation de repasser un examen.

Je participerais sans doute au prochain concours, mais en espérant que le challenge sera un peu plus difficile. Terminer en une heure me laisse un gout de trop peu, et j'aimerais retrouver la difficulté du challenge de janvier, où rien que le dernier exercice m'avais pris plus de deux heures.

Le saviez vous ?




Sur Internet