-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathindex.js
363 lines (235 loc) · 13.4 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
// Voici une série d'exercices pour pratiquer l'algo
// Si vous avez des questions ou si vous avez besoin d'aide supplémentaire, n'hésitez pas à consulter les ressources en ligne sur JavaScript ou à demander de l'aide à vos pairs.
//----------------------------------------------------------------------------------------------//
// EXERCICE 1
// Ajuste la fonction "multiply" qui prend deux paramètres (a et b) et retourne la somme multipliée des deux paramètres.
// Exemple : a = 2, b = 3 => 2 * 3 = 6
export const multiply = (a, b) => {};
console.info("Exercice 1 :", multiply(2, 3));
//----------------------------------------------------------------------------------------------//
// EXERCICE 2
// Ajuste la fonction qui prend en paramètre un tableau et qui retourne le premier élément du tableau.
// Exemple : [1, 2, 3] => 1
// export const getFirstElement = () => {}
// console.info("Exercice 2 : ", getFirstElement([1, 2, 3]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 3
// Ajuste la fonction qui prend en paramètre un tableau et qui doit supprimer le dernier élément du tableau.
// Exemple : [1, 2, 3] => [1, 2]
// export const removeLastElement = () => {
// };
// console.info("Exercice 3 : ", removeLastElement([1, 2, 3]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 4
// Ajuste la fonction qui prend en paramètre un tableau comprennant des nombres et qui doit retourner la somme de tous les nombres du tableau.
// Exemple : [1, 2, 3] => 6
// export const sumArray = () => {}
// console.info("Exercice 4 : ", sumArray([5, 6, 7]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 5
//Ajuste la fonction qui prend en paramètre une string et qui doit retourner la string inversée.
// Exemple : "Hello" => "olleH"
// export const reverseString = () => {}
// console.info("Exercice 5 : ", reverseString("Hello"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 6
// Ajuste la fonction qui prend en paramètre un tableau et qui doit retourner le plus grand nombre du tableau.
// Exemple : [1, 2, 3] => 3
// export const getMax = () => {}
// console.info("Exercice 6 : ", getMax([1, 2, 3]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 7
// Ajuste la fonction qui prend en paramètre un tableau et qui doit retourner le plus petit nombre du tableau.
// Exemple : [1, 2, 3] => 1
// export const getMin = () => {}
// console.info("Exercice 7 : ", getMin([1, 2, 3]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 8
// Ajuste la fonction qui prend en paramètre une string et qui doit retourner la string sans les voyelles.
// Exemple : "Hello" => "Hll"
// export const removeVowels = () => {}
// console.info("Exercice 8 : ", removeVowels("Hello"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 9
// Ajuste la fonction qui prend en paramètre un tableau et qui doit retourner le tableau trié par ordre croissant.
// Exemple : [1, 3, 2] => [1, 2, 3]
// export const sortArray = () => {}
// console.info("Exercice 9 : ", sortArray([1, 3, 2]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 10
// Ajuste la fonction qui prend en paramètre une string et qui renvoie un tableau avec toutes les rotations possibles de cette string.
// Exemple : "Hello" => ["elloH", "lloHe", "loHel", "oHell", "Hello"]
// export const getStringRotations = () => {
// };
// console.info("Exercice 10 : ", getStringRotations("Hello"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 11
// Ajuste la fonction qui prend en paramètre un tableau et qui doit ajouter le nombre 1 à chaque élément du tableau.
// Exemple : [1, 2, 3] => [2, 3, 4]
// export const incrementArray = () => {}
// console.info("Exercice 11 : ", incrementArray([1, 2, 3]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 12
// Ajuste la fonction qui prend en paramètre un tableau de string et qui doit retourner un tableau avec la longueur de chaque string.
// Exemple : ["Hello", "World"] => [5, 5]
// export const getLengths = () => {}
// console.info("Exercice 12 : ", getLengths(["Hello", "World"]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 13
// Ajuste la fonction qui prend en paramètre un tableau de string et qui doit retourner un tableau avec toutes les premières lettres de chaque string.
// Exemple : ["Hello", "World"] => ["H", "W"]
// export const getFirstLetters = () => {}
// console.info("Exercice 13 : ", getFirstLetters(["Hello", "World"]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 14
// Ajuste la fonction qui prend en paramètre un tableau de string et qui doit retourner un tableau avec toutes les dernières lettres de chaque string.
// Exemple : ["Hello", "World"] => ["o", "d"]
// export const getLastLetters = () => {}
// console.info("Exercice 14 : ", getLastLetters(["Hello", "World"]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 15
// Ajuste la fonction qui prend en paramètre un tableau de string et qui doit renvoyer tout les string qui ont une longueur de 5 caractères ou plus.
// Exemple : ["Hello", "World","Test", "Salut", "Yo"] => ["Hello", "World", "Salut"]
// export const filterLongStrings = () => {
// };
// console.info(
// "Exercice 15 : ",
// filterLongStrings(["Hello", "World", "Test", "Salut", "Yo"]),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 16
// Ajuste la fonction qui prend une chaîne de caractères en format snake_case et doit retourner une nouvelle chaîne de caractères contenant les mêmes mots, mais sans les underscores.
// Exemple : "Bonjour_c'est_papy" => "bonjour c'est papy"
// export const snake_case = () => {}
// console.info("Exercice 16 : ", snake_case("Bonjour_c'est_papy"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 17
// Ajuste la fonction qui prend en deux paramètres qui sont deux tableaux de string et qui doit retourner un tableau avec tout les éléments des deux tableaux.
// Exemple : ["Hello", "World"] et ["Test", "Salut"] => ["Hello", "World", "Test", "Salut"]
// export const mergeArrays = () => {}
// console.info(
// "Exercice 17 : ",
// mergeArrays(["Hello", "World"], ["Test", "Example"]),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 18
// Ajuste la fonction qui prend en paramètre un tableau de string et qui doit retourner toutes les strings qui ont la lettre "e".
// Exemple : ["Poulet", "Chat", "Chien", "Cheval"] => ["Poulet", "Chien", "Cheval"].
// export const filterStringsWithE = () => {
// }
// console.info(
// "Exercice 18 : ",
// filterStringsWithE(["Poulet", "Chat", "Chien", "Cheval"]),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 19
// Ajuste la fonction qui prend en paramètre un tableau de nombres et qui doit retourner tous les nombres qui sont pairs par ordre croissant.
// Exemple : [2, 9, 6, 5, 6] => [2, 6, 6].
// export const filterAndSortEvenNumbers = () => {
// };
// console.info("Exercice 19 : ", filterAndSortEvenNumbers([2, 9, 6, 5, 6]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 20
// Ajuste la fonction qui renvoie la longueur du ou des mots les plus courts dans une phrase.
// Exemple :
// findShort("Prachett is the best author in the world") // 2
// findShort("The quick brown fox jumps over the lazy dog") // 3
// export const findShort = () => {}
// console.info(
// "Exercice 20 : ",
// findShort("Prachett is the best author in the world"),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 21
// Écrivez une fonction `anagram` qui prend deux chaînes et renvoie un booléen indiquant si les chaînes sont des anagrammes l'une de l'autre.
// Deux chaînes sont des anagrammes si elles contiennent les mêmes caractères, quel que soit l'ordre.
// Exemple : anagram("listen", "silent") // true
// export const anagram = () => {}
// console.info("Exercice 21 : ", anagram("listen", "silent"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 22
// Écrivez une fonction qui enlève les doubles lettres d'une chaîne donnée.
// Exemple : removeDoubleLetters("google") // "gogle"
// export const removeDoubleLetters = () => {}
// console.info("Exercice 22 : ", removeDoubleLetters("google"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 23
// Écrivez une fonction qui prend un tableau de 10 entiers (entre 0 et 9) et renvoie une chaîne de caractères sous la forme d'un numéro de téléphone.
// Exemple : createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // "(123) 456-7890"
// export const createPhoneNumber = () => {
// };
// console.info(
// "Exercice 23 : ",
// createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 24
// Écrivez une fonction nommée "findMissingLetter" qui prend en paramètre un tableau d'une série de lettres et qui renvoie la lettre manquante de la série.
// Exemple : findMissingLetter(["a", "b", "c", "d", "f"]) // "e"
// export const findMissingLetter = () => {
// };
// console.info("Exercice 24 : ", findMissingLetter(["a", "b", "c", "d", "f"]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 25
// Écrivez une fonction qui prend un tableau de string et renvoie un tableau de string triées par ordre alphabétique.
// Exemple : sortString(["Banana", "Orange", "Apple", "Mango"]) // ["Apple", "Banana", "Mango", "Orange"]
// export const sortString = () => {;
// };
// console.info(
// "Exercice 25 : ",
// sortString(["Banana", "Orange", "Apple", "Mango"]),
// );
//----------------------------------------------------------------------------------------------//
// EXERCICE 26
// Ajuste la fonction qui étant donné deux angles d'un triangle renvoie la mesure du troisième angle.
// Exemple : otherAngle(30, 60) // 90
// Pour trouver le troisième angle, soustrayez la somme des deux angles donnés à 180 degrés.
// export const otherAngle = () => {};
// console.info("Exercice 26 : ", otherAngle(30, 60));
//----------------------------------------------------------------------------------------------//
// EXERCICE 27
// Ajuste la fonction qui peut déterminer si une année est une année bissextile ou non.
// Une année bissextile est divisible par 4, sauf si elle est divisible par 100, à moins qu'elle ne soit également divisible par 400.
// Exemple : isLeapYear(2020) // true
// export const isLeapYear = () => {
// };
// console.info("Exercice 27 : ", isLeapYear(2022));
//----------------------------------------------------------------------------------------------//
// EXERCICE 28
// Ajuste la fonction qui prend en entrée un tableau contenant des noms d'animaux. La fonction doit renvoyer un nouveau tableau composé de deux sous-tableaux :
// Le premier sous-tableau doit inclure les noms des animaux domestiques.
// Le deuxième sous-tableau doit inclure les noms des animaux sauvages.
// Exemple : sortAnimals(animals) // [["Cat", "Dog"], ["Eagle", "Monkey"]]
// export const sortAnimals = () => {
// };
// console.info("Exercice 28 : ", sortAnimals(["Cat", "Dog", "Eagle", "Monkey"]));
//----------------------------------------------------------------------------------------------//
// EXERCICE 29
// Complète la fonction decodeMessage() qui doit décoder un message chiffré utilisant le chiffre de César avec un décalage de 16 positions vers la droite dans l'alphabet. Le message sera fourni en majuscules et peut contenir des espaces ou d'autres caractères spéciaux qui doivent rester inchangés.
// Exemple : Si on appelle decodeMessage("XUBBE MEHBT"), la fonction doit renvoyer "HELLO WORLD".
// https://fr.wikipedia.org/wiki/Chiffrement_par_décalage
// export const decodeMessage = () => {
// };
// console.info("Exercice 29 :", decodeMessage("XUBBE MEHBT"));
//----------------------------------------------------------------------------------------------//
// EXERCICE 30
// Ajuste la fonction qui renverra notre score à partir des résultats des matchs.
// Exemple : calculateScore(["1:0", "2:0", "3:0", "4:4", "2:2", "3:3", "1:4", "2:3", "2:4", "3:3"]) // 13
// Utilisez une boucle pour parcourir le tableau et une condition pour déterminer les points à ajouter.
// export const calculateScore = () => {
// };
// console.info(
// "Exercice 30 : ",
// calculateScore([
// "1:0",
// "2:0",
// "3:0",
// "4:4",
// "2:2",
// "3:3",
// "1:4",
// "2:3",
// "2:4",
// "3:3",
// ]),
// );