Skip to content

leiluspocus/katas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

Katas

Ce repository liste des katas en français.

La source originelle du kata est indiquée, seul un effort de traduction en français a été fait!

C'est quoi un kata ? C'est un petit exercice de programmation qui est souvent donné en entretien. Il peut aussi être utilisé tout au long de sa carrière pour muscler ses compétences en algorithmie ou en programmation de manière plus large !

Liste des katas

♣️ Majorité, pairs ou impair ?

Source: Newsletter de Cassidoo

Donner l'élément qui apparaît le plus fréquemment dans un tableau d'entiers.

S'il n'y a pas d'élément qui apparaît plus qu'un autre, retourner une information indiquant si le tableau est composé en majorité de nombres pairs ou impairs.

Si le tableau n'a pas de majorité et qu'il n'a pas plus d'éléments pairs qu'impairs, retourner 0

Exemple

> majority([3,1,4,1])
> "1"

> majority([33,44,55,66,77])
> "Majorité impairs"

> majority([1,2,3,4])
> "Pas de majorité"

Proposition de résolution ici

🤹‍♀️ Palindrome

Source: LeetCode

Faites une fonction qui prend en paramètre un entier nombre. La fonction doit retourner true si x est un palindrome, false sinon.

Langage : libre

Exemple 1:

  • Paramètre d'entrée: x = 121
  • Réponse: true
  • Explication: 121 se lit 121 de droite à gauche et de gauche à droite !

Exemple 2:

  • Paramètre d'entrée: x = -121
  • Réponse: false
  • Explication: De gauche à droite, on lit -121. De droite à gauche, ça devient 121-. Ce n'est donc pas un palindrome.

Exemple 3:

  • Paramètre d'entrée: x = 10
  • Réponse: false
  • Explication: Se lit 01 de droite à gauche. Ce n'est donc pas un palindrome.

Si vous choisissez Node.js, à l'exécution, ça devrait donner ceci 👇

> node palindrome(121)
> true 

> node palindrome(-121)
> false

> node palindrome(10)
> false

Proposition de résolution ici

🔂 Inverser

Source: Newsletter de Cassidoo du 15/01

A partir d'un tableau à deux dimensions, écrire une fonction qui l'inverse horizontalement ou verticalement.

Exemple

Pour ce tableau:

let array = [
[1,2,3],
[4,5,6],
[7,8,9]
]

En mode "horizontal", on obtient

> flip(array, 'horizontal')
> [[3,2,1],[6,5,4],[9,8,7]]

Tandis qu'en mode "vertical", on obtient

> flip(array, 'vertical')
> [[7,8,9],[4,5,6],[1,2,3]]

🧮 Tri dans un tableau

Source: Newsletter de Cassidoo du 3/06

Ecris une fonction qui prend en paramètre un tableau d'entiers. Elle doit retourner un nouveau tableau contenant seulement les entiers pairs (du tableau donné en paramètre) et triés par ordre croissant.

Exemple

> onlyEvens([1, 2, 3, 4, 5, 2])
> [2, 2, 4]

> onlyEvens([7, 8, 1, 0, 2, 5])
> [0, 2, 8]

> onlyEvens([11, 13, 15])
> []

🖨️ L'imprimante folle

Source: Newsletter de Cassidoo du 2/12/2024

Le Père Noël fait l'appel quotidien de ses rennes, mais l'imprimante a imprimé tous leurs noms à l'envers par erreur 😱

Pour prendre les présences correctement, il a besoin d'urgence d'un outil permettant d'inverser les noms des rennes et de les classer par ordre alphabétique ! Peux-tu aider le Père Noël ?

rollCall(["yzneT","ydissaC","enimA"])
> ["Amine","Cassidy","Tenzy"]

rollCall(["rennuD","nexiV","recnarP","temoC","neztilB","recnaD","diduC","rehsaD","hploduR"])
> ["Blitzen","Comet","Cupid","Dancer","Dasher","Donner","Prancer","Rudolph","Vixen"]

rollCall(["A","B","C"])
> ["A","B","C"]

🔢 Somme impaire

Source: Newsletter de Cassidoo du 26/05/2025

Faire une fonction oddSum qui prend deux tableaux en paramètre, un tableau 1 et un tableau 2.

Elle doit retourner toutes les paires qui retournent une somme impaire. Les cas d'erreur doivent également être gérés.

Voici quelques exemples d'utilisation et ce que doit retourner la fonction.

# Cas d'erreurs à gérer

oddSum([], [2, 3])
> "Error: First array is empty!"

oddSum([2, 3], [])
> "Error: Second array is empty!"

oddSum([], [])
> "Error: You should pass two arrays of numbers"

# Cas 1: Petits tableaux de même taille

oddSum([1, 2], [3, 5]) 
> [2, 3], [2, 5]

# Cas 2: Tableaux de taille différente

oddSum([9, 14, 6, 2, 11], [8, 4, 7, 20]) 
> [9, 20], [14, 7], [11,8]

oddSum([2, 4, 6, 8], [10, 12, 14])
> "Aucune paire trouvée : toutes les paires d'éléments possibles retournent une somme paire"

About

🏋️ Liste de katas pour se pratiquer à la programmation, traduits en français

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published