From 626d301fede2e65d230304eecd6a1323702336d4 Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Sun, 21 Jan 2024 19:20:50 +0400
Subject: [PATCH 01/10] Updates Warning message using Alerts
New extension in Markdown supported by GitHub
Reference: https://github.com/orgs/community/discussions/16925
---
README.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 7ed9a99e58..99fb14e61d 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,10 @@
[](https://github.com/exercism/javascript/actions/workflows/configlet.yml) [](https://github.com/exercism/javascript/actions?query=workflow%3A%22javascript+%2F+main%22)
-⚠️ We 💙 our community but **this repository does not accept community contributions at this time**.
-There are no active maintainers to review PRs.
-Please read this [community blog post][freeing-maintainers] for details. ⚠️
+> [!IMPORTANT]
+> We 💙 our community but **this repository does not accept community contributions at this time**.
+> There are no active maintainers to review PRs.
+> Please read this [community blog post][freeing-maintainers] for details.
**Exercism exercises in JavaScript**
From 19ade9137cbf3c5e3f222de531539e9ff5ffc19d Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:40:53 +0400
Subject: [PATCH 02/10] Adds Warning and Important Alerts in `CONTRIBUTING.md`
---
CONTRIBUTING.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 212cfc67c4..7abbea8630 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,8 @@ It's not uncommon that people discover incorrect implementations of certain test
We welcome contributions of all sorts and sizes, from reporting issues to submitting patches, as well as joining the current [discussions 💬][issue-discussion].
-> :warning: This guide is slightly outdated and doesn't hold the V3 changes yet.
+> [!WARNING]
+> This guide is slightly outdated and doesn't hold the V3 changes yet.
---
@@ -209,8 +210,8 @@ It then interactively gives the maintainer the option to include or exclude test
We have various `scripts` to aid with maintaining and contributing to this repository.
-> ⚠ If you encounter the following error:
->
+> [!IMPORTANT]
+> If you encounter the following error:
> ```text
> SyntaxError: Unexpected token 'export'
> ```
From 0f78f5a7b9f480ba50a0191a46ba8e5890586850 Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:43:04 +0400
Subject: [PATCH 03/10] Adds the 'Note' alerts to `falsy.md`
---
reference/info/falsy.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/reference/info/falsy.md b/reference/info/falsy.md
index c16e85c9d2..6c0db4e421 100644
--- a/reference/info/falsy.md
+++ b/reference/info/falsy.md
@@ -4,6 +4,7 @@ A falsy value is a value that is considered `false` when encountered in a [Boole
[JavaScript][language-javascript] uses [Type Conversion][concept-type-coercion] to coerce any value to a [Boolean][type-boolean] in contexts that require it, such as [conditionals][concept-conditionals] and [loops][concept-loops].
+> [!NOTE]
> There are 7 falsy values in JavaScript.
>
> This means that when JavaScript is expecting a boolean and it is given one of the values below, it will always evaluate to "falsy".
From 6242d08c585aa729460647a50353a08c54ef714c Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:43:50 +0400
Subject: [PATCH 04/10] Adds the 'Note' highlight to `event_loop.md`
Reference: https://github.com/orgs/community/discussions/16925
---
reference/info/event_loop.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/reference/info/event_loop.md b/reference/info/event_loop.md
index cd11078717..31cfc60706 100644
--- a/reference/info/event_loop.md
+++ b/reference/info/event_loop.md
@@ -1,5 +1,6 @@
# Event loop
+> [!NOTE]
> [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java.
[language-c]: https://github.com/exercism/v3/blob/main/c/README.md
From e35a4018f72c800e9f2f373906f1c1dd61e6750f Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:45:42 +0400
Subject: [PATCH 05/10] Adds the 'Note' highlight to `concurrency.md`
Reference: https://github.com/orgs/community/discussions/16925
---
reference/info/concurrency.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/reference/info/concurrency.md b/reference/info/concurrency.md
index 966f795769..b656843b76 100644
--- a/reference/info/concurrency.md
+++ b/reference/info/concurrency.md
@@ -1,8 +1,9 @@
# Concurrency
-> When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept.
-> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
-> _simultaneous execution_ of (possibly related) computations.
+> [!NOTE]
+> When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept.
+> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
+> _simultaneous execution_ of (possibly related) computations.
> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism)
See also [Event loop][concept-event-loop].
From 84ef222a07edc7feb50868af6eb001a351041107 Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:48:40 +0400
Subject: [PATCH 06/10] Adds the 'Warning' highlight to
`implementing-a-concept-exercise.md`
Reference: https://github.com/orgs/community/discussions/16925
---
reference/implementing-a-concept-exercise.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/reference/implementing-a-concept-exercise.md b/reference/implementing-a-concept-exercise.md
index 778eae9f6d..0d7a76bdf4 100644
--- a/reference/implementing-a-concept-exercise.md
+++ b/reference/implementing-a-concept-exercise.md
@@ -61,7 +61,8 @@ github/exercism
The configuration files may be copied from another exercise. We aim to keep these in sync:
-> ⚠ Just like with _practice_ exercises, we will provide a script for you to run. This script needs to be updated from its v2 version, which has not yet been done.
+> [!WARNING]
+> Just like with _practice_ exercises, we will provide a script for you to run. This script needs to be updated from its v2 version, which has not yet been done.
- `.eslintrc`
- `.gitignore`
From febce5e27c5d502b4286177e001ce42254647328 Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:50:26 +0400
Subject: [PATCH 07/10] Adds the 'Tip' highlight to `FUNCTIONS.md`
Reference: https://github.com/orgs/community/discussions/16925
---
docs/FUNCTIONS.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/FUNCTIONS.md b/docs/FUNCTIONS.md
index 4c086fa08e..a313df3c18 100644
--- a/docs/FUNCTIONS.md
+++ b/docs/FUNCTIONS.md
@@ -6,7 +6,8 @@ In JavaScript, functions are _first class objects_ which means they can be assig
JavaScript functions allow you to pass arguments when they are called. Arguments are always [passed by value](https://dev.to/xpbytes/javascript-ruby-and-c-are-not-call-by-reference-23f7). In other words, if a function reassigns a parameter inside the function, the value won't change outside the function. That doesn't mean that passed-in objects cannot be mutated.
-> 💡 When an object is passed in, the reference to that object is passed in by value. This makes it _seem_ like passing in objects are handled differently, but that's not the case.
+> [!TIP]
+> When an object is passed in, the reference to that object is passed in by value. This makes it _seem_ like passing in objects are handled differently, but that's not the case.
An example of a function that takes two arguments and multiplies them is:
From 890d1032b4faf649f9538a0e21ff4ed63e7ac2f8 Mon Sep 17 00:00:00 2001
From: CSK <73425927+cr2007@users.noreply.github.com>
Date: Mon, 22 Jan 2024 08:56:14 +0400
Subject: [PATCH 08/10] Adds the 'Note' and 'Important' highlight to
`INSTALLATION.md`
---
docs/INSTALLATION.md | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md
index 0767f1b780..813124f246 100644
--- a/docs/INSTALLATION.md
+++ b/docs/INSTALLATION.md
@@ -48,10 +48,12 @@ After the installer is done, or the package manager has completed, or the binary
The version should match the one on the website.
-**Note**: It is important to open a _new_ terminal window.
-Any open terminal windows might not have been refreshed after the installation completed.
-This means that the open terminals don't know that a new program was installed.
+> [!NOTE]
+> It is important to open a _new_ terminal window.
+> Any open terminal windows might not have been refreshed after the installation completed.
+> This means that the open terminals don't know that a new program was installed.
+> [!IMPORTANT]
> _**Help**_: `'node' is not recognised`
>
> If you've used the official installer, your `PATH` should have been automatically configured, but if your shell has trouble locating your globally installed modules — or if you build Node.js from source — update your `PATH` to include the `npm` binaries.
@@ -86,6 +88,7 @@ They can be installed running this command within each assignment directory:
npm install
```
+> [!IMPORTANT]
> _**Help**_: `'' is missing / cannot be found`
>
> If you see this after _upgrading_ your exercise, welcome to npm 7.
From c2cd2b666eea067af599ba28ba3f3c367ba427a1 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Thu, 1 Feb 2024 22:15:53 +0000
Subject: [PATCH 09/10] [CI] Format code
---
CONTRIBUTING.md | 1 +
config.json | 911 ++++++----------------------------
docs/INSTALLATION.md | 6 +-
reference/info/concurrency.md | 4 +-
reference/info/event_loop.md | 3 +-
5 files changed, 167 insertions(+), 758 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7abbea8630..835c0e5dc4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -212,6 +212,7 @@ We have various `scripts` to aid with maintaining and contributing to this repos
> [!IMPORTANT]
> If you encounter the following error:
+>
> ```text
> SyntaxError: Unexpected token 'export'
> ```
diff --git a/config.json b/config.json
index 3ea223a2c7..5a8ed1dbf5 100644
--- a/config.json
+++ b/config.json
@@ -19,18 +19,10 @@
"average_run_time": 5
},
"files": {
- "solution": [
- "%{kebab_slug}.js"
- ],
- "test": [
- "%{kebab_slug}.spec.js"
- ],
- "example": [
- ".meta/proof.ci.js"
- ],
- "exemplar": [
- ".meta/exemplar.js"
- ]
+ "solution": ["%{kebab_slug}.js"],
+ "test": ["%{kebab_slug}.spec.js"],
+ "example": [".meta/proof.ci.js"],
+ "exemplar": [".meta/exemplar.js"]
},
"exercises": {
"concept": [
@@ -38,9 +30,7 @@
"slug": "lasagna",
"name": "Lucian's Luscious Lasagna",
"uuid": "97bf898a-36fc-47fc-b870-01fc0c7fe554",
- "concepts": [
- "basics"
- ],
+ "concepts": ["basics"],
"prerequisites": [],
"status": "active"
},
@@ -48,103 +38,63 @@
"slug": "annalyns-infiltration",
"name": "Annalyn's Infiltration",
"uuid": "5acafcbb-20a0-45b9-b276-3d167e0de313",
- "concepts": [
- "booleans"
- ],
- "prerequisites": [
- "basics"
- ],
+ "concepts": ["booleans"],
+ "prerequisites": ["basics"],
"status": "beta"
},
{
"slug": "freelancer-rates",
"name": "Freelancer Rates",
"uuid": "0aff2fa7-55ea-47e9-af4a-78927d916baf",
- "concepts": [
- "numbers",
- "arithmetic-operators"
- ],
- "prerequisites": [
- "basics"
- ],
+ "concepts": ["numbers", "arithmetic-operators"],
+ "prerequisites": ["basics"],
"status": "beta"
},
{
"slug": "poetry-club-door-policy",
"name": "Poetry Club Door Policy",
"uuid": "39549583-1889-490a-bf98-ffb2e0aefe44",
- "concepts": [
- "strings"
- ],
- "prerequisites": [
- "basics"
- ],
+ "concepts": ["strings"],
+ "prerequisites": ["basics"],
"status": "beta"
},
{
"slug": "elyses-enchantments",
"name": "Elyses Enchantments",
"uuid": "25cb0707-44f8-4800-b993-3fcb2b6d9f61",
- "concepts": [
- "arrays"
- ],
- "prerequisites": [
- "numbers"
- ],
+ "concepts": ["arrays"],
+ "prerequisites": ["numbers"],
"status": "beta"
},
{
"slug": "vehicle-purchase",
"name": "Vehicle Purchase",
"uuid": "f75a7e2c-053a-411e-8b3d-f978a2c5100e",
- "concepts": [
- "comparison",
- "conditionals"
- ],
- "prerequisites": [
- "booleans",
- "numbers",
- "strings"
- ],
+ "concepts": ["comparison", "conditionals"],
+ "prerequisites": ["booleans", "numbers", "strings"],
"status": "beta"
},
{
"slug": "bird-watcher",
"name": "Bird Watcher",
"uuid": "3e648aa0-9ce7-4041-93d2-2b95f3832824",
- "concepts": [
- "increment-decrement",
- "for-loops"
- ],
- "prerequisites": [
- "arrays",
- "comparison",
- "conditionals"
- ],
+ "concepts": ["increment-decrement", "for-loops"],
+ "prerequisites": ["arrays", "comparison", "conditionals"],
"status": "beta"
},
{
"slug": "mixed-juices",
"name": "Mixed Juices",
"uuid": "81c3fb86-af86-4c56-a45f-e021403c4070",
- "concepts": [
- "while-loops",
- "conditionals-switch"
- ],
- "prerequisites": [
- "comparison",
- "conditionals",
- "arrays"
- ],
+ "concepts": ["while-loops", "conditionals-switch"],
+ "prerequisites": ["comparison", "conditionals", "arrays"],
"status": "beta"
},
{
"slug": "lucky-numbers",
"name": "Lucky Numbers",
"uuid": "78bbd7d2-b660-4791-a404-af5bfed31849",
- "concepts": [
- "type-conversion"
- ],
+ "concepts": ["type-conversion"],
"prerequisites": [
"booleans",
"strings",
@@ -158,40 +108,23 @@
"slug": "elyses-analytic-enchantments",
"name": "Elyses Analytic Enchantments",
"uuid": "45d956db-d4ef-4468-b1d3-47021f172c15",
- "concepts": [
- "arrow-functions",
- "array-analysis"
- ],
- "prerequisites": [
- "arrays",
- "booleans",
- "callbacks",
- "numbers"
- ],
+ "concepts": ["arrow-functions", "array-analysis"],
+ "prerequisites": ["arrays", "booleans", "callbacks", "numbers"],
"status": "beta"
},
{
"slug": "elyses-destructured-enchantments",
"name": "Elyses Destructured Enchantments",
"uuid": "d9b5cd13-2f2b-4034-a571-e66c847ed6f8",
- "concepts": [
- "array-destructuring",
- "rest-and-spread"
- ],
- "prerequisites": [
- "arrays",
- "functions",
- "objects"
- ],
+ "concepts": ["array-destructuring", "rest-and-spread"],
+ "prerequisites": ["arrays", "functions", "objects"],
"status": "beta"
},
{
"slug": "elyses-looping-enchantments",
"name": "Elyses Looping Enchantments",
"uuid": "e06f8f70-019f-4cec-924b-3971414e15d9",
- "concepts": [
- "array-loops"
- ],
+ "concepts": ["array-loops"],
"prerequisites": [
"arrays",
"arrow-functions",
@@ -213,21 +146,15 @@
"slug": "amusement-park",
"name": "Amusement Park",
"uuid": "2d40b46b-9e49-431c-913c-81d1f42f74df",
- "concepts": [
- "null-undefined"
- ],
- "prerequisites": [
- "objects"
- ],
+ "concepts": ["null-undefined"],
+ "prerequisites": ["objects"],
"status": "beta"
},
{
"slug": "pizza-order",
"name": "Pizza Order",
"uuid": "e9a9fa73-4497-43d5-a4ff-4eb319c98233",
- "concepts": [
- "recursion"
- ],
+ "concepts": ["recursion"],
"prerequisites": [
"functions",
"rest-and-spread",
@@ -240,61 +167,39 @@
"slug": "coordinate-transformation",
"name": "Coordinate Transformation",
"uuid": "5aa39e89-c601-4a66-ab72-5d8512d69e02",
- "concepts": [
- "closures"
- ],
- "prerequisites": [
- "arrays",
- "functions"
- ],
+ "concepts": ["closures"],
+ "prerequisites": ["arrays", "functions"],
"status": "beta"
},
{
"slug": "fruit-picker",
"name": "Fruit Picker",
"uuid": "a6348db8-cc2b-4c53-9f43-3c23248d66f0",
- "concepts": [
- "callbacks"
- ],
- "prerequisites": [
- "functions",
- "objects"
- ],
+ "concepts": ["callbacks"],
+ "prerequisites": ["functions", "objects"],
"status": "beta"
},
{
"slug": "translation-service",
"name": "Translation Service",
"uuid": "4a967656-8615-474e-a009-5c0b09f4386f",
- "concepts": [
- "promises"
- ],
- "prerequisites": [
- "callbacks",
- "arrow-functions",
- "errors"
- ],
+ "concepts": ["promises"],
+ "prerequisites": ["callbacks", "arrow-functions", "errors"],
"status": "beta"
},
{
"slug": "high-score-board",
"name": "High Score Board",
"uuid": "431d1f13-d280-4808-bbc6-a72e628c15c2",
- "concepts": [
- "objects"
- ],
- "prerequisites": [
- "for-loops"
- ],
+ "concepts": ["objects"],
+ "prerequisites": ["for-loops"],
"status": "beta"
},
{
"slug": "ozans-playlist",
"name": "Ozan's Playlist",
"uuid": "347692fb-7b0f-4ef0-9a02-2192b59bdf5d",
- "concepts": [
- "sets"
- ],
+ "concepts": ["sets"],
"prerequisites": [
"array-destructuring",
"array-loops",
@@ -309,38 +214,23 @@
"slug": "lasagna-master",
"name": "Lasagna Master",
"uuid": "a7e323f1-84d8-43d5-8c26-cc119166b9fd",
- "concepts": [
- "functions"
- ],
- "prerequisites": [
- "objects",
- "arrays",
- "null-undefined"
- ],
+ "concepts": ["functions"],
+ "prerequisites": ["objects", "arrays", "null-undefined"],
"status": "beta"
},
{
"slug": "factory-sensors",
"name": "Factory Sensors",
"uuid": "2ccafa38-2802-44c1-8758-7415edefa909",
- "concepts": [
- "errors",
- "inheritance"
- ],
- "prerequisites": [
- "classes",
- "null-undefined",
- "conditionals"
- ],
+ "concepts": ["errors", "inheritance"],
+ "prerequisites": ["classes", "null-undefined", "conditionals"],
"status": "beta"
},
{
"slug": "elyses-transformative-enchantments",
"name": "Elyses Transformative Enchantments",
"uuid": "6e156d67-2bd2-4624-956d-ddcc3795bad5",
- "concepts": [
- "array-transformations"
- ],
+ "concepts": ["array-transformations"],
"prerequisites": [
"arrow-functions",
"numbers",
@@ -354,44 +244,24 @@
"slug": "custom-signs",
"name": "Custom Signs",
"uuid": "02a9c753-614f-4814-a7a8-43c1971d2eb7",
- "concepts": [
- "conditionals-ternary",
- "template-strings"
- ],
- "prerequisites": [
- "strings",
- "conditionals",
- "type-conversion"
- ],
+ "concepts": ["conditionals-ternary", "template-strings"],
+ "prerequisites": ["strings", "conditionals", "type-conversion"],
"status": "beta"
},
{
"slug": "windowing-system",
"name": "Windowing System",
"uuid": "d697850e-fd43-408c-a958-835aa8a510f7",
- "concepts": [
- "classes"
- ],
- "prerequisites": [
- "objects",
- "functions",
- "conditionals-ternary"
- ],
+ "concepts": ["classes"],
+ "prerequisites": ["objects", "functions", "conditionals-ternary"],
"status": "beta"
},
{
"slug": "regular-chatbot",
"name": "Regular Chatbot",
"uuid": "dc118a0d-be89-4ea5-a814-e471897d921a",
- "concepts": [
- "regular-expressions"
- ],
- "prerequisites": [
- "arrays",
- "classes",
- "objects",
- "template-strings"
- ],
+ "concepts": ["regular-expressions"],
+ "prerequisites": ["arrays", "classes", "objects", "template-strings"],
"status": "beta"
}
],
@@ -415,101 +285,61 @@
"name": "Two Fer",
"uuid": "7f49e997-4435-4f34-a020-bddc92c838ed",
"practices": [],
- "prerequisites": [
- "strings",
- "functions"
- ],
+ "prerequisites": ["strings", "functions"],
"difficulty": 1,
- "topics": [
- "optional_values",
- "strings",
- "text_formatting"
- ]
+ "topics": ["optional_values", "strings", "text_formatting"]
},
{
"slug": "resistor-color",
"name": "Resistor Color",
"uuid": "53be6837-c224-45f1-bff3-d7f74d6285ce",
"practices": [],
- "prerequisites": [
- "arrays",
- "array-analysis"
- ],
+ "prerequisites": ["arrays", "array-analysis"],
"difficulty": 1,
- "topics": [
- "arrays",
- "strings"
- ]
+ "topics": ["arrays", "strings"]
},
{
"slug": "resistor-color-duo",
"name": "Resistor Color Duo",
"uuid": "de800041-3dcc-41b9-b101-7314ff685c93",
"practices": [],
- "prerequisites": [
- "array-analysis"
- ],
+ "prerequisites": ["array-analysis"],
"difficulty": 2,
- "topics": [
- "strings",
- "arrays"
- ]
+ "topics": ["strings", "arrays"]
},
{
"slug": "gigasecond",
"name": "Gigasecond",
"uuid": "fd7b62d4-266b-4e84-a526-bf3d47901216",
"practices": [],
- "prerequisites": [
- "dates",
- "numbers",
- "arithmetic-operators"
- ],
+ "prerequisites": ["dates", "numbers", "arithmetic-operators"],
"difficulty": 1,
- "topics": [
- "time"
- ]
+ "topics": ["time"]
},
{
"slug": "rna-transcription",
"name": "RNA Transcription",
"uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5",
"practices": [],
- "prerequisites": [
- "strings",
- "array-transformations",
- "objects"
- ],
+ "prerequisites": ["strings", "array-transformations", "objects"],
"difficulty": 2,
- "topics": [
- "strings",
- "transforming"
- ]
+ "topics": ["strings", "transforming"]
},
{
"slug": "space-age",
"name": "Space Age",
"uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54",
"practices": [],
- "prerequisites": [
- "objects",
- "numbers",
- "type-conversion"
- ],
+ "prerequisites": ["objects", "numbers", "type-conversion"],
"difficulty": 2,
- "topics": [
- "floating_point_numbers"
- ]
+ "topics": ["floating_point_numbers"]
},
{
"slug": "pangram",
"name": "Pangram",
"uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b",
"practices": [],
- "prerequisites": [
- "strings",
- "array-analysis"
- ],
+ "prerequisites": ["strings", "array-analysis"],
"difficulty": 2,
"topics": [
"algorithms",
@@ -546,11 +376,7 @@
"name": "Bob",
"uuid": "a5bf36f0-5d3c-41d4-8d54-e37e484e59cd",
"practices": [],
- "prerequisites": [
- "strings",
- "conditionals",
- "regular-expressions"
- ],
+ "prerequisites": ["strings", "conditionals", "regular-expressions"],
"difficulty": 4,
"topics": [
"conditionals",
@@ -573,23 +399,14 @@
"functions"
],
"difficulty": 5,
- "topics": [
- "algorithms",
- "conditionals",
- "loops",
- "lists",
- "sorting"
- ]
+ "topics": ["algorithms", "conditionals", "loops", "lists", "sorting"]
},
{
"slug": "pascals-triangle",
"name": "Pascal's Triangle",
"uuid": "99493160-4673-402f-acda-62db5378148d",
"practices": [],
- "prerequisites": [
- "arrays",
- "for-loops"
- ],
+ "prerequisites": ["arrays", "for-loops"],
"difficulty": 4,
"topics": [
"conditionals",
@@ -604,11 +421,7 @@
"name": "Linked List",
"uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5",
"practices": [],
- "prerequisites": [
- "classes",
- "conditionals",
- "while-loops"
- ],
+ "prerequisites": ["classes", "conditionals", "while-loops"],
"difficulty": 5,
"topics": [
"algorithms",
@@ -625,36 +438,18 @@
"name": "Grade School",
"uuid": "64637322-33bc-401f-8cec-1f9810a41f75",
"practices": [],
- "prerequisites": [
- "classes",
- "objects",
- "array-transformations"
- ],
+ "prerequisites": ["classes", "objects", "array-transformations"],
"difficulty": 5,
- "topics": [
- "arrays",
- "maps",
- "sorting"
- ]
+ "topics": ["arrays", "maps", "sorting"]
},
{
"slug": "list-ops",
"name": "List Ops",
"uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc",
"practices": [],
- "prerequisites": [
- "classes",
- "arrays",
- "functions",
- "recursion"
- ],
+ "prerequisites": ["classes", "arrays", "functions", "recursion"],
"difficulty": 6,
- "topics": [
- "data_structures",
- "loops",
- "lists",
- "recursion"
- ]
+ "topics": ["data_structures", "loops", "lists", "recursion"]
},
{
"slug": "robot-name",
@@ -729,11 +524,7 @@
"name": "Secret Handshake",
"uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370",
"practices": [],
- "prerequisites": [
- "bit-manipulation",
- "array-analysis",
- "errors"
- ],
+ "prerequisites": ["bit-manipulation", "array-analysis", "errors"],
"difficulty": 6,
"topics": [
"algorithms",
@@ -749,31 +540,18 @@
"name": "Leap",
"uuid": "193a0e19-462d-4d26-a117-124f07d5a3d7",
"practices": [],
- "prerequisites": [
- "arithmetic-operators",
- "booleans"
- ],
+ "prerequisites": ["arithmetic-operators", "booleans"],
"difficulty": 1,
- "topics": [
- "booleans",
- "integers",
- "logic"
- ]
+ "topics": ["booleans", "integers", "logic"]
},
{
"slug": "reverse-string",
"name": "Reverse String",
"uuid": "e84c97eb-dbec-487c-b99f-ae9924e16293",
"practices": [],
- "prerequisites": [
- "strings",
- "array-transformations"
- ],
+ "prerequisites": ["strings", "array-transformations"],
"difficulty": 2,
- "topics": [
- "loops",
- "strings"
- ]
+ "topics": ["loops", "strings"]
},
{
"slug": "collatz-conjecture",
@@ -802,19 +580,9 @@
"name": "Triangle",
"uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f",
"practices": [],
- "prerequisites": [
- "numbers",
- "booleans",
- "comparison",
- "classes"
- ],
+ "prerequisites": ["numbers", "booleans", "comparison", "classes"],
"difficulty": 3,
- "topics": [
- "conditionals",
- "loops",
- "exception_handling",
- "integers"
- ]
+ "topics": ["conditionals", "loops", "exception_handling", "integers"]
},
{
"slug": "clock",
@@ -828,22 +596,14 @@
"strings"
],
"difficulty": 5,
- "topics": [
- "dates",
- "globalization",
- "time"
- ]
+ "topics": ["dates", "globalization", "time"]
},
{
"slug": "meetup",
"name": "Meetup",
"uuid": "98617798-b49d-4d43-9f65-7131ee73d626",
"practices": [],
- "prerequisites": [
- "dates",
- "array-analysis",
- "conditionals-switch"
- ],
+ "prerequisites": ["dates", "array-analysis", "conditionals-switch"],
"difficulty": 7,
"topics": [
"conditionals",
@@ -859,55 +619,27 @@
"name": "ETL",
"uuid": "db16804b-0f63-445d-8beb-99e0f7218d66",
"practices": [],
- "prerequisites": [
- "objects",
- "array-loops",
- "arrays",
- "strings"
- ],
+ "prerequisites": ["objects", "array-loops", "arrays", "strings"],
"difficulty": 2,
- "topics": [
- "loops",
- "integers",
- "maps",
- "transforming"
- ]
+ "topics": ["loops", "integers", "maps", "transforming"]
},
{
"slug": "hamming",
"name": "Hamming",
"uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a",
"practices": [],
- "prerequisites": [
- "comparison",
- "errors",
- "for-loops"
- ],
+ "prerequisites": ["comparison", "errors", "for-loops"],
"difficulty": 2,
- "topics": [
- "conditionals",
- "loops",
- "equality",
- "strings"
- ]
+ "topics": ["conditionals", "loops", "equality", "strings"]
},
{
"slug": "raindrops",
"name": "Raindrops",
"uuid": "f77ac2d1-cf3a-497d-bf04-b484a5a9cb37",
"practices": [],
- "prerequisites": [
- "arithmetic-operators",
- "strings",
- "conditionals"
- ],
+ "prerequisites": ["arithmetic-operators", "strings", "conditionals"],
"difficulty": 2,
- "topics": [
- "conditionals",
- "integers",
- "strings",
- "transforming"
- ]
+ "topics": ["conditionals", "integers", "strings", "transforming"]
},
{
"slug": "nucleotide-count",
@@ -934,37 +666,18 @@
"name": "Scrabble Score",
"uuid": "11771d47-1109-4579-a62b-e0b8e9583485",
"practices": [],
- "prerequisites": [
- "strings",
- "array-transformations"
- ],
+ "prerequisites": ["strings", "array-transformations"],
"difficulty": 5,
- "topics": [
- "conditionals",
- "loops",
- "maps",
- "strings"
- ]
+ "topics": ["conditionals", "loops", "maps", "strings"]
},
{
"slug": "allergies",
"name": "Allergies",
"uuid": "9d33d21c-e695-427f-9f58-dd9498d61318",
"practices": [],
- "prerequisites": [
- "classes",
- "math",
- "numbers",
- "for-loops",
- "arrays"
- ],
+ "prerequisites": ["classes", "math", "numbers", "for-loops", "arrays"],
"difficulty": 6,
- "topics": [
- "arrays",
- "bitwise_operations",
- "conditionals",
- "loops"
- ]
+ "topics": ["arrays", "bitwise_operations", "conditionals", "loops"]
},
{
"slug": "word-count",
@@ -979,45 +692,25 @@
"objects"
],
"difficulty": 4,
- "topics": [
- "loops",
- "lists",
- "regular_expressions",
- "strings"
- ]
+ "topics": ["loops", "lists", "regular_expressions", "strings"]
},
{
"slug": "bank-account",
"name": "Bank Account",
"uuid": "8beedf70-28b4-4cfb-ab53-309ee6f6aa78",
"practices": [],
- "prerequisites": [
- "classes",
- "conditionals",
- "numbers"
- ],
+ "prerequisites": ["classes", "conditionals", "numbers"],
"difficulty": 3,
- "topics": [
- "classes",
- "conditionals"
- ]
+ "topics": ["classes", "conditionals"]
},
{
"slug": "difference-of-squares",
"name": "Difference of Squares",
"uuid": "7dfa878c-83a6-48ef-9170-b6633d51d601",
"practices": [],
- "prerequisites": [
- "classes",
- "for-loops"
- ],
+ "prerequisites": ["classes", "for-loops"],
"difficulty": 3,
- "topics": [
- "algorithms",
- "loops",
- "integers",
- "math"
- ]
+ "topics": ["algorithms", "loops", "integers", "math"]
},
{
"slug": "perfect-numbers",
@@ -1032,82 +725,43 @@
"for-loops"
],
"difficulty": 3,
- "topics": [
- "arrays",
- "conditionals",
- "loops",
- "integers",
- "math"
- ]
+ "topics": ["arrays", "conditionals", "loops", "integers", "math"]
},
{
"slug": "complex-numbers",
"name": "Complex Numbers",
"uuid": "ea9a9a3e-ae6a-470d-8bb4-2afead507f24",
"practices": [],
- "prerequisites": [
- "classes",
- "numbers",
- "math"
- ],
+ "prerequisites": ["classes", "numbers", "math"],
"difficulty": 4,
- "topics": [
- "math"
- ]
+ "topics": ["math"]
},
{
"slug": "luhn",
"name": "Luhn",
"uuid": "28872cc9-f1ef-487f-9a79-6bf7983148bf",
"practices": [],
- "prerequisites": [
- "numbers",
- "conditionals",
- "array-transformations"
- ],
+ "prerequisites": ["numbers", "conditionals", "array-transformations"],
"difficulty": 4,
- "topics": [
- "conditionals",
- "loops",
- "integers",
- "strings"
- ]
+ "topics": ["conditionals", "loops", "integers", "strings"]
},
{
"slug": "prime-factors",
"name": "Prime Factors",
"uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661",
"practices": [],
- "prerequisites": [
- "while-loops",
- "conditionals",
- "arrays"
- ],
+ "prerequisites": ["while-loops", "conditionals", "arrays"],
"difficulty": 4,
- "topics": [
- "algorithms",
- "conditionals",
- "loops",
- "integers",
- "math"
- ]
+ "topics": ["algorithms", "conditionals", "loops", "integers", "math"]
},
{
"slug": "grains",
"name": "Grains",
"uuid": "d003975a-9045-4f03-9ad9-c15db584dc13",
"practices": [],
- "prerequisites": [
- "conditionals",
- "errors",
- "numbers",
- "math"
- ],
+ "prerequisites": ["conditionals", "errors", "numbers", "math"],
"difficulty": 5,
- "topics": [
- "loops",
- "integers"
- ]
+ "topics": ["loops", "integers"]
},
{
"slug": "pythagorean-triplet",
@@ -1123,13 +777,7 @@
"conditionals"
],
"difficulty": 5,
- "topics": [
- "algorithms",
- "conditionals",
- "loops",
- "integers",
- "math"
- ]
+ "topics": ["algorithms", "conditionals", "loops", "integers", "math"]
},
{
"slug": "palindrome-products",
@@ -1168,10 +816,7 @@
"comparison"
],
"difficulty": 1,
- "topics": [
- "filtering",
- "strings"
- ]
+ "topics": ["filtering", "strings"]
},
{
"slug": "acronym",
@@ -1184,12 +829,7 @@
"array-transformations"
],
"difficulty": 2,
- "topics": [
- "loops",
- "regular_expressions",
- "strings",
- "transforming"
- ]
+ "topics": ["loops", "regular_expressions", "strings", "transforming"]
},
{
"slug": "high-scores",
@@ -1203,25 +843,16 @@
"classes"
],
"difficulty": 2,
- "topics": [
- "arrays"
- ]
+ "topics": ["arrays"]
},
{
"slug": "isogram",
"name": "Isogram",
- "uuid": "3df577af-2854-40ee-b211-9b608dbbad58",
- "practices": [],
- "prerequisites": [
- "strings",
- "arrays",
- "regular-expressions"
- ],
+ "uuid": "3df577af-2854-40ee-b211-9b608dbbad58",
+ "practices": [],
+ "prerequisites": ["strings", "arrays", "regular-expressions"],
"difficulty": 2,
- "topics": [
- "filtering",
- "strings"
- ]
+ "topics": ["filtering", "strings"]
},
{
"slug": "matching-brackets",
@@ -1255,10 +886,7 @@
"regular-expressions"
],
"difficulty": 3,
- "topics": [
- "parsing",
- "transforming"
- ]
+ "topics": ["parsing", "transforming"]
},
{
"slug": "scale-generator",
@@ -1272,12 +900,7 @@
"array-transformations"
],
"difficulty": 3,
- "topics": [
- "loops",
- "pattern_recognition",
- "strings",
- "arrays"
- ]
+ "topics": ["loops", "pattern_recognition", "strings", "arrays"]
},
{
"slug": "series",
@@ -1293,12 +916,7 @@
"array-transformations"
],
"difficulty": 3,
- "topics": [
- "loops",
- "exception_handling",
- "strings",
- "text_formatting"
- ]
+ "topics": ["loops", "exception_handling", "strings", "text_formatting"]
},
{
"slug": "largest-series-product",
@@ -1328,12 +946,7 @@
"name": "Transpose",
"uuid": "9c140fb7-cc8b-411b-b613-a0e0081a9c3f",
"practices": [],
- "prerequisites": [
- "arrays",
- "for-loops",
- "strings",
- "conditionals"
- ],
+ "prerequisites": ["arrays", "for-loops", "strings", "conditionals"],
"difficulty": 3,
"topics": [
"arrays",
@@ -1357,11 +970,7 @@
"template-strings"
],
"difficulty": 4,
- "topics": [
- "files",
- "searching",
- "text_formatting"
- ]
+ "topics": ["files", "searching", "text_formatting"]
},
{
"slug": "rectangles",
@@ -1370,24 +979,14 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": [
- "arrays",
- "conditionals",
- "loops",
- "matrices",
- "strings"
- ]
+ "topics": ["arrays", "conditionals", "loops", "matrices", "strings"]
},
{
"slug": "spiral-matrix",
"name": "Spiral Matrix",
"uuid": "c1abafcc-0d44-4fb5-afae-bff3ce2e1b39",
"practices": [],
- "prerequisites": [
- "arrays",
- "for-loops",
- "conditionals"
- ],
+ "prerequisites": ["arrays", "for-loops", "conditionals"],
"difficulty": 4,
"topics": [
"arrays",
@@ -1439,11 +1038,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": [
- "domain_specific_languages",
- "parsing",
- "stacks"
- ]
+ "topics": ["domain_specific_languages", "parsing", "stacks"]
},
{
"slug": "food-chain",
@@ -1452,21 +1047,14 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": [
- "algorithms",
- "text_formatting"
- ]
+ "topics": ["algorithms", "text_formatting"]
},
{
"slug": "house",
"name": "House",
"uuid": "a8b7187d-12eb-4efc-b966-87823654ccda",
"practices": [],
- "prerequisites": [
- "for-loops",
- "arrays",
- "strings"
- ],
+ "prerequisites": ["for-loops", "arrays", "strings"],
"difficulty": 4
},
{
@@ -1526,12 +1114,7 @@
"name": "Twelve Days",
"uuid": "64de1776-d5c6-43fe-9abf-7e3aa08ae342",
"practices": [],
- "prerequisites": [
- "arrays",
- "conditionals",
- "for-loops",
- "strings"
- ],
+ "prerequisites": ["arrays", "conditionals", "for-loops", "strings"],
"difficulty": 4,
"topics": [
"conditionals",
@@ -1549,11 +1132,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 6,
- "topics": [
- "promises",
- "error_handling",
- "higher_order_functions"
- ]
+ "topics": ["promises", "error_handling", "higher_order_functions"]
},
{
"slug": "yacht",
@@ -1568,12 +1147,7 @@
"sets"
],
"difficulty": 4,
- "topics": [
- "arrays",
- "conditionals",
- "filtering",
- "games"
- ]
+ "topics": ["arrays", "conditionals", "filtering", "games"]
},
{
"slug": "beer-song",
@@ -1587,11 +1161,7 @@
"template-strings"
],
"difficulty": 5,
- "topics": [
- "conditionals",
- "loops",
- "strings"
- ]
+ "topics": ["conditionals", "loops", "strings"]
},
{
"slug": "resistor-color-trio",
@@ -1606,10 +1176,7 @@
"template-strings"
],
"difficulty": 5,
- "topics": [
- "conditionals",
- "loops"
- ]
+ "topics": ["conditionals", "loops"]
},
{
"slug": "dominoes",
@@ -1625,9 +1192,7 @@
"while-loops"
],
"difficulty": 6,
- "topics": [
- "graph_theory"
- ]
+ "topics": ["graph_theory"]
},
{
"slug": "say",
@@ -1659,11 +1224,7 @@
"name": "Diamond",
"uuid": "6a1eee0e-f8d4-446d-9c52-f31c3700af1b",
"practices": [],
- "prerequisites": [
- "arrays",
- "for-loops",
- "strings"
- ],
+ "prerequisites": ["arrays", "for-loops", "strings"],
"difficulty": 5,
"topics": [
"arrays",
@@ -1689,11 +1250,7 @@
"while-loops"
],
"difficulty": 5,
- "topics": [
- "algorithms",
- "floating_point_numbers",
- "math"
- ]
+ "topics": ["algorithms", "floating_point_numbers", "math"]
},
{
"slug": "sublist",
@@ -1707,28 +1264,16 @@
"conditionals"
],
"difficulty": 4,
- "topics": [
- "arrays",
- "lists"
- ]
+ "topics": ["arrays", "lists"]
},
{
"slug": "binary-search-tree",
"name": "Binary Search Tree",
"uuid": "6c4b4e25-c115-4789-9058-d28ab6ca0d26",
"practices": [],
- "prerequisites": [
- "classes",
- "conditionals",
- "recursion"
- ],
+ "prerequisites": ["classes", "conditionals", "recursion"],
"difficulty": 6,
- "topics": [
- "algorithms",
- "conditionals",
- "loops",
- "recursion"
- ]
+ "topics": ["algorithms", "conditionals", "loops", "recursion"]
},
{
"slug": "custom-set",
@@ -1768,13 +1313,7 @@
"while-loops"
],
"difficulty": 7,
- "topics": [
- "algorithms",
- "arrays",
- "conditionals",
- "loops",
- "recursion"
- ]
+ "topics": ["algorithms", "arrays", "conditionals", "loops", "recursion"]
},
{
"slug": "circular-buffer",
@@ -1803,30 +1342,16 @@
"name": "Simple Linked List",
"uuid": "a1591026-2f02-45f9-b189-24b2359eb43f",
"practices": [],
- "prerequisites": [
- "arrays",
- "classes",
- "conditionals",
- "for-loops"
- ],
+ "prerequisites": ["arrays", "classes", "conditionals", "for-loops"],
"difficulty": 8,
- "topics": [
- "arrays",
- "data_structures",
- "lists"
- ]
+ "topics": ["arrays", "data_structures", "lists"]
},
{
"slug": "word-search",
"name": "Word Search",
"uuid": "0125f5a7-8883-4553-a6c1-45f19544af5e",
"practices": [],
- "prerequisites": [
- "arrays",
- "array-loops",
- "classes",
- "conditionals"
- ],
+ "prerequisites": ["arrays", "array-loops", "classes", "conditionals"],
"difficulty": 8,
"topics": [
"arrays",
@@ -1852,10 +1377,7 @@
"rest-and-spread"
],
"difficulty": 5,
- "topics": [
- "bitwise_operations",
- "transforming"
- ]
+ "topics": ["bitwise_operations", "transforming"]
},
{
"slug": "two-bucket",
@@ -1897,10 +1419,7 @@
"rest-and-spread"
],
"difficulty": 7,
- "topics": [
- "algorithms",
- "games"
- ]
+ "topics": ["algorithms", "games"]
},
{
"slug": "connect",
@@ -1968,12 +1487,7 @@
"prerequisites": [],
"difficulty": 5,
"status": "deprecated",
- "topics": [
- "algorithms",
- "callbacks",
- "loops",
- "lists"
- ]
+ "topics": ["algorithms", "callbacks", "loops", "lists"]
},
{
"slug": "flatten-array",
@@ -1982,10 +1496,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": [
- "arrays",
- "recursion"
- ]
+ "topics": ["arrays", "recursion"]
},
{
"slug": "nth-prime",
@@ -2010,13 +1521,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": [
- "conditionals",
- "loops",
- "integers",
- "math",
- "recursion"
- ]
+ "topics": ["conditionals", "loops", "integers", "math", "recursion"]
},
{
"slug": "rotational-cipher",
@@ -2025,12 +1530,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": [
- "conditionals",
- "strings",
- "text_formatting",
- "transforming"
- ]
+ "topics": ["conditionals", "strings", "text_formatting", "transforming"]
},
{
"slug": "diffie-hellman",
@@ -2055,12 +1555,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": [
- "algorithms",
- "arrays",
- "filtering",
- "math"
- ]
+ "topics": ["algorithms", "arrays", "filtering", "math"]
},
{
"slug": "atbash-cipher",
@@ -2117,12 +1612,7 @@
"name": "Kindergarten Garden",
"uuid": "13444eff-005a-405e-9737-7b64d99c1a61",
"practices": [],
- "prerequisites": [
- "arrays",
- "classes",
- "strings",
- "rest-and-spread"
- ],
+ "prerequisites": ["arrays", "classes", "strings", "rest-and-spread"],
"difficulty": 7,
"topics": [
"arrays",
@@ -2139,13 +1629,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": [
- "conditionals",
- "loops",
- "integers",
- "lists",
- "math"
- ]
+ "topics": ["conditionals", "loops", "integers", "lists", "math"]
},
{
"slug": "change",
@@ -2154,11 +1638,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": [
- "algorithms",
- "performance",
- "searching"
- ]
+ "topics": ["algorithms", "performance", "searching"]
},
{
"slug": "point-mutations",
@@ -2176,12 +1656,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 1,
- "topics": [
- "algorithms",
- "conditionals",
- "loops",
- "strings"
- ]
+ "topics": ["algorithms", "conditionals", "loops", "strings"]
},
{
"slug": "armstrong-numbers",
@@ -2190,10 +1665,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": [
- "algorithms",
- "math"
- ]
+ "topics": ["algorithms", "math"]
},
{
"slug": "dnd-character",
@@ -2202,10 +1674,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": [
- "classes",
- "randomness"
- ]
+ "topics": ["classes", "randomness"]
},
{
"slug": "run-length-encoding",
@@ -2305,12 +1774,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": [
- "bitwise_operations",
- "algorithms",
- "loops",
- "math"
- ]
+ "topics": ["bitwise_operations", "algorithms", "loops", "math"]
},
{
"slug": "trinary",
@@ -2352,11 +1816,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 7,
- "topics": [
- "algorithms",
- "arrays",
- "games"
- ]
+ "topics": ["algorithms", "arrays", "games"]
},
{
"slug": "queen-attack",
@@ -2382,11 +1842,7 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": [
- "algorithms",
- "events",
- "reactive_programming"
- ]
+ "topics": ["algorithms", "events", "reactive_programming"]
},
{
"slug": "zipper",
@@ -2395,80 +1851,43 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": [
- "recursion",
- "searching",
- "trees"
- ]
+ "topics": ["recursion", "searching", "trees"]
},
{
"slug": "zebra-puzzle",
"name": "Zebra Puzzle",
"uuid": "3a34cb49-546f-4aae-b49e-7d5b25db7ebb",
"practices": [],
- "prerequisites": [
- "arrays",
- "classes",
- "for-loops",
- "maps"
- ],
+ "prerequisites": ["arrays", "classes", "for-loops", "maps"],
"difficulty": 7,
- "topics": [
- "algorithms",
- "logic"
- ]
+ "topics": ["algorithms", "logic"]
},
{
"slug": "tournament",
"name": "Tournament",
"uuid": "e5e5363d-4e9a-478f-8b18-e578f3721ac5",
"practices": [],
- "prerequisites": [
- "arrays",
- "strings",
- "for-loops",
- "objects"
- ],
+ "prerequisites": ["arrays", "strings", "for-loops", "objects"],
"difficulty": 3,
- "topics": [
- "parsing",
- "strings"
- ]
+ "topics": ["parsing", "strings"]
},
{
"slug": "rail-fence-cipher",
"name": "Rail Fence Cipher",
"uuid": "5f0352e5-0988-434a-82c7-f6810d41d63a",
"practices": [],
- "prerequisites": [
- "arrays",
- "strings",
- "for-loops",
- "conditionals"
- ],
+ "prerequisites": ["arrays", "strings", "for-loops", "conditionals"],
"difficulty": 3,
- "topics": [
- "parsing",
- "strings",
- "iteration"
- ]
+ "topics": ["parsing", "strings", "iteration"]
},
{
"slug": "rest-api",
"name": "REST API",
"uuid": "75b4816d-a5d7-4840-92d6-7249c9e8beeb",
"practices": [],
- "prerequisites": [
- "arrays",
- "classes",
- "array-loops",
- "objects"
- ],
+ "prerequisites": ["arrays", "classes", "array-loops", "objects"],
"difficulty": 6,
- "topics": [
- "algorithms",
- "logic"
- ]
+ "topics": ["algorithms", "logic"]
},
{
"slug": "go-counting",
@@ -2484,10 +1903,7 @@
"conditionals-switch"
],
"difficulty": 5,
- "topics": [
- "algorithms",
- "logic"
- ]
+ "topics": ["algorithms", "logic"]
},
{
"slug": "knapsack",
@@ -2502,10 +1918,7 @@
"conditionals"
],
"difficulty": 5,
- "topics": [
- "algorithms",
- "logic"
- ]
+ "topics": ["algorithms", "logic"]
},
{
"slug": "satellite",
diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md
index 813124f246..a32eab521c 100644
--- a/docs/INSTALLATION.md
+++ b/docs/INSTALLATION.md
@@ -53,8 +53,7 @@ The version should match the one on the website.
> Any open terminal windows might not have been refreshed after the installation completed.
> This means that the open terminals don't know that a new program was installed.
-> [!IMPORTANT]
-> _**Help**_: `'node' is not recognised`
+> [!IMPORTANT] > _**Help**_: `'node' is not recognised`
>
> If you've used the official installer, your `PATH` should have been automatically configured, but if your shell has trouble locating your globally installed modules — or if you build Node.js from source — update your `PATH` to include the `npm` binaries.
>
@@ -88,8 +87,7 @@ They can be installed running this command within each assignment directory:
npm install
```
-> [!IMPORTANT]
-> _**Help**_: `'' is missing / cannot be found`
+> [!IMPORTANT] > _**Help**_: `'' is missing / cannot be found`
>
> If you see this after _upgrading_ your exercise, welcome to npm 7.
> Delete `node_modules` and `package-lock.json` and re-run the command to resolve this.
diff --git a/reference/info/concurrency.md b/reference/info/concurrency.md
index b656843b76..f7bf218494 100644
--- a/reference/info/concurrency.md
+++ b/reference/info/concurrency.md
@@ -2,9 +2,7 @@
> [!NOTE]
> When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept.
-> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
-> _simultaneous execution_ of (possibly related) computations.
-> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism)
+> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
> _simultaneous execution_ of (possibly related) computations.
> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism)
See also [Event loop][concept-event-loop].
diff --git a/reference/info/event_loop.md b/reference/info/event_loop.md
index 31cfc60706..074d7a99b4 100644
--- a/reference/info/event_loop.md
+++ b/reference/info/event_loop.md
@@ -1,7 +1,6 @@
# Event loop
-> [!NOTE]
-> [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java.
+> [!NOTE] > [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java.
[language-c]: https://github.com/exercism/v3/blob/main/c/README.md
[language-javascript]: ../../README.md
From f9ccfa0de6ff5378ac4f34a6e2ec4f71365e138a Mon Sep 17 00:00:00 2001
From: Derk-Jan Karrenbeld
Date: Fri, 2 Feb 2024 18:35:03 +0100
Subject: [PATCH 10/10] Reformat using configlet fmt -uy
---
config.json | 907 +++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 747 insertions(+), 160 deletions(-)
diff --git a/config.json b/config.json
index 5a8ed1dbf5..3ea223a2c7 100644
--- a/config.json
+++ b/config.json
@@ -19,10 +19,18 @@
"average_run_time": 5
},
"files": {
- "solution": ["%{kebab_slug}.js"],
- "test": ["%{kebab_slug}.spec.js"],
- "example": [".meta/proof.ci.js"],
- "exemplar": [".meta/exemplar.js"]
+ "solution": [
+ "%{kebab_slug}.js"
+ ],
+ "test": [
+ "%{kebab_slug}.spec.js"
+ ],
+ "example": [
+ ".meta/proof.ci.js"
+ ],
+ "exemplar": [
+ ".meta/exemplar.js"
+ ]
},
"exercises": {
"concept": [
@@ -30,7 +38,9 @@
"slug": "lasagna",
"name": "Lucian's Luscious Lasagna",
"uuid": "97bf898a-36fc-47fc-b870-01fc0c7fe554",
- "concepts": ["basics"],
+ "concepts": [
+ "basics"
+ ],
"prerequisites": [],
"status": "active"
},
@@ -38,63 +48,103 @@
"slug": "annalyns-infiltration",
"name": "Annalyn's Infiltration",
"uuid": "5acafcbb-20a0-45b9-b276-3d167e0de313",
- "concepts": ["booleans"],
- "prerequisites": ["basics"],
+ "concepts": [
+ "booleans"
+ ],
+ "prerequisites": [
+ "basics"
+ ],
"status": "beta"
},
{
"slug": "freelancer-rates",
"name": "Freelancer Rates",
"uuid": "0aff2fa7-55ea-47e9-af4a-78927d916baf",
- "concepts": ["numbers", "arithmetic-operators"],
- "prerequisites": ["basics"],
+ "concepts": [
+ "numbers",
+ "arithmetic-operators"
+ ],
+ "prerequisites": [
+ "basics"
+ ],
"status": "beta"
},
{
"slug": "poetry-club-door-policy",
"name": "Poetry Club Door Policy",
"uuid": "39549583-1889-490a-bf98-ffb2e0aefe44",
- "concepts": ["strings"],
- "prerequisites": ["basics"],
+ "concepts": [
+ "strings"
+ ],
+ "prerequisites": [
+ "basics"
+ ],
"status": "beta"
},
{
"slug": "elyses-enchantments",
"name": "Elyses Enchantments",
"uuid": "25cb0707-44f8-4800-b993-3fcb2b6d9f61",
- "concepts": ["arrays"],
- "prerequisites": ["numbers"],
+ "concepts": [
+ "arrays"
+ ],
+ "prerequisites": [
+ "numbers"
+ ],
"status": "beta"
},
{
"slug": "vehicle-purchase",
"name": "Vehicle Purchase",
"uuid": "f75a7e2c-053a-411e-8b3d-f978a2c5100e",
- "concepts": ["comparison", "conditionals"],
- "prerequisites": ["booleans", "numbers", "strings"],
+ "concepts": [
+ "comparison",
+ "conditionals"
+ ],
+ "prerequisites": [
+ "booleans",
+ "numbers",
+ "strings"
+ ],
"status": "beta"
},
{
"slug": "bird-watcher",
"name": "Bird Watcher",
"uuid": "3e648aa0-9ce7-4041-93d2-2b95f3832824",
- "concepts": ["increment-decrement", "for-loops"],
- "prerequisites": ["arrays", "comparison", "conditionals"],
+ "concepts": [
+ "increment-decrement",
+ "for-loops"
+ ],
+ "prerequisites": [
+ "arrays",
+ "comparison",
+ "conditionals"
+ ],
"status": "beta"
},
{
"slug": "mixed-juices",
"name": "Mixed Juices",
"uuid": "81c3fb86-af86-4c56-a45f-e021403c4070",
- "concepts": ["while-loops", "conditionals-switch"],
- "prerequisites": ["comparison", "conditionals", "arrays"],
+ "concepts": [
+ "while-loops",
+ "conditionals-switch"
+ ],
+ "prerequisites": [
+ "comparison",
+ "conditionals",
+ "arrays"
+ ],
"status": "beta"
},
{
"slug": "lucky-numbers",
"name": "Lucky Numbers",
"uuid": "78bbd7d2-b660-4791-a404-af5bfed31849",
- "concepts": ["type-conversion"],
+ "concepts": [
+ "type-conversion"
+ ],
"prerequisites": [
"booleans",
"strings",
@@ -108,23 +158,40 @@
"slug": "elyses-analytic-enchantments",
"name": "Elyses Analytic Enchantments",
"uuid": "45d956db-d4ef-4468-b1d3-47021f172c15",
- "concepts": ["arrow-functions", "array-analysis"],
- "prerequisites": ["arrays", "booleans", "callbacks", "numbers"],
+ "concepts": [
+ "arrow-functions",
+ "array-analysis"
+ ],
+ "prerequisites": [
+ "arrays",
+ "booleans",
+ "callbacks",
+ "numbers"
+ ],
"status": "beta"
},
{
"slug": "elyses-destructured-enchantments",
"name": "Elyses Destructured Enchantments",
"uuid": "d9b5cd13-2f2b-4034-a571-e66c847ed6f8",
- "concepts": ["array-destructuring", "rest-and-spread"],
- "prerequisites": ["arrays", "functions", "objects"],
+ "concepts": [
+ "array-destructuring",
+ "rest-and-spread"
+ ],
+ "prerequisites": [
+ "arrays",
+ "functions",
+ "objects"
+ ],
"status": "beta"
},
{
"slug": "elyses-looping-enchantments",
"name": "Elyses Looping Enchantments",
"uuid": "e06f8f70-019f-4cec-924b-3971414e15d9",
- "concepts": ["array-loops"],
+ "concepts": [
+ "array-loops"
+ ],
"prerequisites": [
"arrays",
"arrow-functions",
@@ -146,15 +213,21 @@
"slug": "amusement-park",
"name": "Amusement Park",
"uuid": "2d40b46b-9e49-431c-913c-81d1f42f74df",
- "concepts": ["null-undefined"],
- "prerequisites": ["objects"],
+ "concepts": [
+ "null-undefined"
+ ],
+ "prerequisites": [
+ "objects"
+ ],
"status": "beta"
},
{
"slug": "pizza-order",
"name": "Pizza Order",
"uuid": "e9a9fa73-4497-43d5-a4ff-4eb319c98233",
- "concepts": ["recursion"],
+ "concepts": [
+ "recursion"
+ ],
"prerequisites": [
"functions",
"rest-and-spread",
@@ -167,39 +240,61 @@
"slug": "coordinate-transformation",
"name": "Coordinate Transformation",
"uuid": "5aa39e89-c601-4a66-ab72-5d8512d69e02",
- "concepts": ["closures"],
- "prerequisites": ["arrays", "functions"],
+ "concepts": [
+ "closures"
+ ],
+ "prerequisites": [
+ "arrays",
+ "functions"
+ ],
"status": "beta"
},
{
"slug": "fruit-picker",
"name": "Fruit Picker",
"uuid": "a6348db8-cc2b-4c53-9f43-3c23248d66f0",
- "concepts": ["callbacks"],
- "prerequisites": ["functions", "objects"],
+ "concepts": [
+ "callbacks"
+ ],
+ "prerequisites": [
+ "functions",
+ "objects"
+ ],
"status": "beta"
},
{
"slug": "translation-service",
"name": "Translation Service",
"uuid": "4a967656-8615-474e-a009-5c0b09f4386f",
- "concepts": ["promises"],
- "prerequisites": ["callbacks", "arrow-functions", "errors"],
+ "concepts": [
+ "promises"
+ ],
+ "prerequisites": [
+ "callbacks",
+ "arrow-functions",
+ "errors"
+ ],
"status": "beta"
},
{
"slug": "high-score-board",
"name": "High Score Board",
"uuid": "431d1f13-d280-4808-bbc6-a72e628c15c2",
- "concepts": ["objects"],
- "prerequisites": ["for-loops"],
+ "concepts": [
+ "objects"
+ ],
+ "prerequisites": [
+ "for-loops"
+ ],
"status": "beta"
},
{
"slug": "ozans-playlist",
"name": "Ozan's Playlist",
"uuid": "347692fb-7b0f-4ef0-9a02-2192b59bdf5d",
- "concepts": ["sets"],
+ "concepts": [
+ "sets"
+ ],
"prerequisites": [
"array-destructuring",
"array-loops",
@@ -214,23 +309,38 @@
"slug": "lasagna-master",
"name": "Lasagna Master",
"uuid": "a7e323f1-84d8-43d5-8c26-cc119166b9fd",
- "concepts": ["functions"],
- "prerequisites": ["objects", "arrays", "null-undefined"],
+ "concepts": [
+ "functions"
+ ],
+ "prerequisites": [
+ "objects",
+ "arrays",
+ "null-undefined"
+ ],
"status": "beta"
},
{
"slug": "factory-sensors",
"name": "Factory Sensors",
"uuid": "2ccafa38-2802-44c1-8758-7415edefa909",
- "concepts": ["errors", "inheritance"],
- "prerequisites": ["classes", "null-undefined", "conditionals"],
+ "concepts": [
+ "errors",
+ "inheritance"
+ ],
+ "prerequisites": [
+ "classes",
+ "null-undefined",
+ "conditionals"
+ ],
"status": "beta"
},
{
"slug": "elyses-transformative-enchantments",
"name": "Elyses Transformative Enchantments",
"uuid": "6e156d67-2bd2-4624-956d-ddcc3795bad5",
- "concepts": ["array-transformations"],
+ "concepts": [
+ "array-transformations"
+ ],
"prerequisites": [
"arrow-functions",
"numbers",
@@ -244,24 +354,44 @@
"slug": "custom-signs",
"name": "Custom Signs",
"uuid": "02a9c753-614f-4814-a7a8-43c1971d2eb7",
- "concepts": ["conditionals-ternary", "template-strings"],
- "prerequisites": ["strings", "conditionals", "type-conversion"],
+ "concepts": [
+ "conditionals-ternary",
+ "template-strings"
+ ],
+ "prerequisites": [
+ "strings",
+ "conditionals",
+ "type-conversion"
+ ],
"status": "beta"
},
{
"slug": "windowing-system",
"name": "Windowing System",
"uuid": "d697850e-fd43-408c-a958-835aa8a510f7",
- "concepts": ["classes"],
- "prerequisites": ["objects", "functions", "conditionals-ternary"],
+ "concepts": [
+ "classes"
+ ],
+ "prerequisites": [
+ "objects",
+ "functions",
+ "conditionals-ternary"
+ ],
"status": "beta"
},
{
"slug": "regular-chatbot",
"name": "Regular Chatbot",
"uuid": "dc118a0d-be89-4ea5-a814-e471897d921a",
- "concepts": ["regular-expressions"],
- "prerequisites": ["arrays", "classes", "objects", "template-strings"],
+ "concepts": [
+ "regular-expressions"
+ ],
+ "prerequisites": [
+ "arrays",
+ "classes",
+ "objects",
+ "template-strings"
+ ],
"status": "beta"
}
],
@@ -285,61 +415,101 @@
"name": "Two Fer",
"uuid": "7f49e997-4435-4f34-a020-bddc92c838ed",
"practices": [],
- "prerequisites": ["strings", "functions"],
+ "prerequisites": [
+ "strings",
+ "functions"
+ ],
"difficulty": 1,
- "topics": ["optional_values", "strings", "text_formatting"]
+ "topics": [
+ "optional_values",
+ "strings",
+ "text_formatting"
+ ]
},
{
"slug": "resistor-color",
"name": "Resistor Color",
"uuid": "53be6837-c224-45f1-bff3-d7f74d6285ce",
"practices": [],
- "prerequisites": ["arrays", "array-analysis"],
+ "prerequisites": [
+ "arrays",
+ "array-analysis"
+ ],
"difficulty": 1,
- "topics": ["arrays", "strings"]
+ "topics": [
+ "arrays",
+ "strings"
+ ]
},
{
"slug": "resistor-color-duo",
"name": "Resistor Color Duo",
"uuid": "de800041-3dcc-41b9-b101-7314ff685c93",
"practices": [],
- "prerequisites": ["array-analysis"],
+ "prerequisites": [
+ "array-analysis"
+ ],
"difficulty": 2,
- "topics": ["strings", "arrays"]
+ "topics": [
+ "strings",
+ "arrays"
+ ]
},
{
"slug": "gigasecond",
"name": "Gigasecond",
"uuid": "fd7b62d4-266b-4e84-a526-bf3d47901216",
"practices": [],
- "prerequisites": ["dates", "numbers", "arithmetic-operators"],
+ "prerequisites": [
+ "dates",
+ "numbers",
+ "arithmetic-operators"
+ ],
"difficulty": 1,
- "topics": ["time"]
+ "topics": [
+ "time"
+ ]
},
{
"slug": "rna-transcription",
"name": "RNA Transcription",
"uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5",
"practices": [],
- "prerequisites": ["strings", "array-transformations", "objects"],
+ "prerequisites": [
+ "strings",
+ "array-transformations",
+ "objects"
+ ],
"difficulty": 2,
- "topics": ["strings", "transforming"]
+ "topics": [
+ "strings",
+ "transforming"
+ ]
},
{
"slug": "space-age",
"name": "Space Age",
"uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54",
"practices": [],
- "prerequisites": ["objects", "numbers", "type-conversion"],
+ "prerequisites": [
+ "objects",
+ "numbers",
+ "type-conversion"
+ ],
"difficulty": 2,
- "topics": ["floating_point_numbers"]
+ "topics": [
+ "floating_point_numbers"
+ ]
},
{
"slug": "pangram",
"name": "Pangram",
"uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b",
"practices": [],
- "prerequisites": ["strings", "array-analysis"],
+ "prerequisites": [
+ "strings",
+ "array-analysis"
+ ],
"difficulty": 2,
"topics": [
"algorithms",
@@ -376,7 +546,11 @@
"name": "Bob",
"uuid": "a5bf36f0-5d3c-41d4-8d54-e37e484e59cd",
"practices": [],
- "prerequisites": ["strings", "conditionals", "regular-expressions"],
+ "prerequisites": [
+ "strings",
+ "conditionals",
+ "regular-expressions"
+ ],
"difficulty": 4,
"topics": [
"conditionals",
@@ -399,14 +573,23 @@
"functions"
],
"difficulty": 5,
- "topics": ["algorithms", "conditionals", "loops", "lists", "sorting"]
+ "topics": [
+ "algorithms",
+ "conditionals",
+ "loops",
+ "lists",
+ "sorting"
+ ]
},
{
"slug": "pascals-triangle",
"name": "Pascal's Triangle",
"uuid": "99493160-4673-402f-acda-62db5378148d",
"practices": [],
- "prerequisites": ["arrays", "for-loops"],
+ "prerequisites": [
+ "arrays",
+ "for-loops"
+ ],
"difficulty": 4,
"topics": [
"conditionals",
@@ -421,7 +604,11 @@
"name": "Linked List",
"uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5",
"practices": [],
- "prerequisites": ["classes", "conditionals", "while-loops"],
+ "prerequisites": [
+ "classes",
+ "conditionals",
+ "while-loops"
+ ],
"difficulty": 5,
"topics": [
"algorithms",
@@ -438,18 +625,36 @@
"name": "Grade School",
"uuid": "64637322-33bc-401f-8cec-1f9810a41f75",
"practices": [],
- "prerequisites": ["classes", "objects", "array-transformations"],
+ "prerequisites": [
+ "classes",
+ "objects",
+ "array-transformations"
+ ],
"difficulty": 5,
- "topics": ["arrays", "maps", "sorting"]
+ "topics": [
+ "arrays",
+ "maps",
+ "sorting"
+ ]
},
{
"slug": "list-ops",
"name": "List Ops",
"uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc",
"practices": [],
- "prerequisites": ["classes", "arrays", "functions", "recursion"],
+ "prerequisites": [
+ "classes",
+ "arrays",
+ "functions",
+ "recursion"
+ ],
"difficulty": 6,
- "topics": ["data_structures", "loops", "lists", "recursion"]
+ "topics": [
+ "data_structures",
+ "loops",
+ "lists",
+ "recursion"
+ ]
},
{
"slug": "robot-name",
@@ -524,7 +729,11 @@
"name": "Secret Handshake",
"uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370",
"practices": [],
- "prerequisites": ["bit-manipulation", "array-analysis", "errors"],
+ "prerequisites": [
+ "bit-manipulation",
+ "array-analysis",
+ "errors"
+ ],
"difficulty": 6,
"topics": [
"algorithms",
@@ -540,18 +749,31 @@
"name": "Leap",
"uuid": "193a0e19-462d-4d26-a117-124f07d5a3d7",
"practices": [],
- "prerequisites": ["arithmetic-operators", "booleans"],
+ "prerequisites": [
+ "arithmetic-operators",
+ "booleans"
+ ],
"difficulty": 1,
- "topics": ["booleans", "integers", "logic"]
+ "topics": [
+ "booleans",
+ "integers",
+ "logic"
+ ]
},
{
"slug": "reverse-string",
"name": "Reverse String",
"uuid": "e84c97eb-dbec-487c-b99f-ae9924e16293",
"practices": [],
- "prerequisites": ["strings", "array-transformations"],
+ "prerequisites": [
+ "strings",
+ "array-transformations"
+ ],
"difficulty": 2,
- "topics": ["loops", "strings"]
+ "topics": [
+ "loops",
+ "strings"
+ ]
},
{
"slug": "collatz-conjecture",
@@ -580,9 +802,19 @@
"name": "Triangle",
"uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f",
"practices": [],
- "prerequisites": ["numbers", "booleans", "comparison", "classes"],
+ "prerequisites": [
+ "numbers",
+ "booleans",
+ "comparison",
+ "classes"
+ ],
"difficulty": 3,
- "topics": ["conditionals", "loops", "exception_handling", "integers"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "exception_handling",
+ "integers"
+ ]
},
{
"slug": "clock",
@@ -596,14 +828,22 @@
"strings"
],
"difficulty": 5,
- "topics": ["dates", "globalization", "time"]
+ "topics": [
+ "dates",
+ "globalization",
+ "time"
+ ]
},
{
"slug": "meetup",
"name": "Meetup",
"uuid": "98617798-b49d-4d43-9f65-7131ee73d626",
"practices": [],
- "prerequisites": ["dates", "array-analysis", "conditionals-switch"],
+ "prerequisites": [
+ "dates",
+ "array-analysis",
+ "conditionals-switch"
+ ],
"difficulty": 7,
"topics": [
"conditionals",
@@ -619,27 +859,55 @@
"name": "ETL",
"uuid": "db16804b-0f63-445d-8beb-99e0f7218d66",
"practices": [],
- "prerequisites": ["objects", "array-loops", "arrays", "strings"],
+ "prerequisites": [
+ "objects",
+ "array-loops",
+ "arrays",
+ "strings"
+ ],
"difficulty": 2,
- "topics": ["loops", "integers", "maps", "transforming"]
+ "topics": [
+ "loops",
+ "integers",
+ "maps",
+ "transforming"
+ ]
},
{
"slug": "hamming",
"name": "Hamming",
"uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a",
"practices": [],
- "prerequisites": ["comparison", "errors", "for-loops"],
+ "prerequisites": [
+ "comparison",
+ "errors",
+ "for-loops"
+ ],
"difficulty": 2,
- "topics": ["conditionals", "loops", "equality", "strings"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "equality",
+ "strings"
+ ]
},
{
"slug": "raindrops",
"name": "Raindrops",
"uuid": "f77ac2d1-cf3a-497d-bf04-b484a5a9cb37",
"practices": [],
- "prerequisites": ["arithmetic-operators", "strings", "conditionals"],
+ "prerequisites": [
+ "arithmetic-operators",
+ "strings",
+ "conditionals"
+ ],
"difficulty": 2,
- "topics": ["conditionals", "integers", "strings", "transforming"]
+ "topics": [
+ "conditionals",
+ "integers",
+ "strings",
+ "transforming"
+ ]
},
{
"slug": "nucleotide-count",
@@ -666,18 +934,37 @@
"name": "Scrabble Score",
"uuid": "11771d47-1109-4579-a62b-e0b8e9583485",
"practices": [],
- "prerequisites": ["strings", "array-transformations"],
+ "prerequisites": [
+ "strings",
+ "array-transformations"
+ ],
"difficulty": 5,
- "topics": ["conditionals", "loops", "maps", "strings"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "maps",
+ "strings"
+ ]
},
{
"slug": "allergies",
"name": "Allergies",
"uuid": "9d33d21c-e695-427f-9f58-dd9498d61318",
"practices": [],
- "prerequisites": ["classes", "math", "numbers", "for-loops", "arrays"],
+ "prerequisites": [
+ "classes",
+ "math",
+ "numbers",
+ "for-loops",
+ "arrays"
+ ],
"difficulty": 6,
- "topics": ["arrays", "bitwise_operations", "conditionals", "loops"]
+ "topics": [
+ "arrays",
+ "bitwise_operations",
+ "conditionals",
+ "loops"
+ ]
},
{
"slug": "word-count",
@@ -692,25 +979,45 @@
"objects"
],
"difficulty": 4,
- "topics": ["loops", "lists", "regular_expressions", "strings"]
+ "topics": [
+ "loops",
+ "lists",
+ "regular_expressions",
+ "strings"
+ ]
},
{
"slug": "bank-account",
"name": "Bank Account",
"uuid": "8beedf70-28b4-4cfb-ab53-309ee6f6aa78",
"practices": [],
- "prerequisites": ["classes", "conditionals", "numbers"],
+ "prerequisites": [
+ "classes",
+ "conditionals",
+ "numbers"
+ ],
"difficulty": 3,
- "topics": ["classes", "conditionals"]
+ "topics": [
+ "classes",
+ "conditionals"
+ ]
},
{
"slug": "difference-of-squares",
"name": "Difference of Squares",
"uuid": "7dfa878c-83a6-48ef-9170-b6633d51d601",
"practices": [],
- "prerequisites": ["classes", "for-loops"],
+ "prerequisites": [
+ "classes",
+ "for-loops"
+ ],
"difficulty": 3,
- "topics": ["algorithms", "loops", "integers", "math"]
+ "topics": [
+ "algorithms",
+ "loops",
+ "integers",
+ "math"
+ ]
},
{
"slug": "perfect-numbers",
@@ -725,43 +1032,82 @@
"for-loops"
],
"difficulty": 3,
- "topics": ["arrays", "conditionals", "loops", "integers", "math"]
+ "topics": [
+ "arrays",
+ "conditionals",
+ "loops",
+ "integers",
+ "math"
+ ]
},
{
"slug": "complex-numbers",
"name": "Complex Numbers",
"uuid": "ea9a9a3e-ae6a-470d-8bb4-2afead507f24",
"practices": [],
- "prerequisites": ["classes", "numbers", "math"],
+ "prerequisites": [
+ "classes",
+ "numbers",
+ "math"
+ ],
"difficulty": 4,
- "topics": ["math"]
+ "topics": [
+ "math"
+ ]
},
{
"slug": "luhn",
"name": "Luhn",
"uuid": "28872cc9-f1ef-487f-9a79-6bf7983148bf",
"practices": [],
- "prerequisites": ["numbers", "conditionals", "array-transformations"],
+ "prerequisites": [
+ "numbers",
+ "conditionals",
+ "array-transformations"
+ ],
"difficulty": 4,
- "topics": ["conditionals", "loops", "integers", "strings"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "integers",
+ "strings"
+ ]
},
{
"slug": "prime-factors",
"name": "Prime Factors",
"uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661",
"practices": [],
- "prerequisites": ["while-loops", "conditionals", "arrays"],
+ "prerequisites": [
+ "while-loops",
+ "conditionals",
+ "arrays"
+ ],
"difficulty": 4,
- "topics": ["algorithms", "conditionals", "loops", "integers", "math"]
+ "topics": [
+ "algorithms",
+ "conditionals",
+ "loops",
+ "integers",
+ "math"
+ ]
},
{
"slug": "grains",
"name": "Grains",
"uuid": "d003975a-9045-4f03-9ad9-c15db584dc13",
"practices": [],
- "prerequisites": ["conditionals", "errors", "numbers", "math"],
+ "prerequisites": [
+ "conditionals",
+ "errors",
+ "numbers",
+ "math"
+ ],
"difficulty": 5,
- "topics": ["loops", "integers"]
+ "topics": [
+ "loops",
+ "integers"
+ ]
},
{
"slug": "pythagorean-triplet",
@@ -777,7 +1123,13 @@
"conditionals"
],
"difficulty": 5,
- "topics": ["algorithms", "conditionals", "loops", "integers", "math"]
+ "topics": [
+ "algorithms",
+ "conditionals",
+ "loops",
+ "integers",
+ "math"
+ ]
},
{
"slug": "palindrome-products",
@@ -816,7 +1168,10 @@
"comparison"
],
"difficulty": 1,
- "topics": ["filtering", "strings"]
+ "topics": [
+ "filtering",
+ "strings"
+ ]
},
{
"slug": "acronym",
@@ -829,7 +1184,12 @@
"array-transformations"
],
"difficulty": 2,
- "topics": ["loops", "regular_expressions", "strings", "transforming"]
+ "topics": [
+ "loops",
+ "regular_expressions",
+ "strings",
+ "transforming"
+ ]
},
{
"slug": "high-scores",
@@ -843,16 +1203,25 @@
"classes"
],
"difficulty": 2,
- "topics": ["arrays"]
+ "topics": [
+ "arrays"
+ ]
},
{
"slug": "isogram",
"name": "Isogram",
"uuid": "3df577af-2854-40ee-b211-9b608dbbad58",
"practices": [],
- "prerequisites": ["strings", "arrays", "regular-expressions"],
+ "prerequisites": [
+ "strings",
+ "arrays",
+ "regular-expressions"
+ ],
"difficulty": 2,
- "topics": ["filtering", "strings"]
+ "topics": [
+ "filtering",
+ "strings"
+ ]
},
{
"slug": "matching-brackets",
@@ -886,7 +1255,10 @@
"regular-expressions"
],
"difficulty": 3,
- "topics": ["parsing", "transforming"]
+ "topics": [
+ "parsing",
+ "transforming"
+ ]
},
{
"slug": "scale-generator",
@@ -900,7 +1272,12 @@
"array-transformations"
],
"difficulty": 3,
- "topics": ["loops", "pattern_recognition", "strings", "arrays"]
+ "topics": [
+ "loops",
+ "pattern_recognition",
+ "strings",
+ "arrays"
+ ]
},
{
"slug": "series",
@@ -916,7 +1293,12 @@
"array-transformations"
],
"difficulty": 3,
- "topics": ["loops", "exception_handling", "strings", "text_formatting"]
+ "topics": [
+ "loops",
+ "exception_handling",
+ "strings",
+ "text_formatting"
+ ]
},
{
"slug": "largest-series-product",
@@ -946,7 +1328,12 @@
"name": "Transpose",
"uuid": "9c140fb7-cc8b-411b-b613-a0e0081a9c3f",
"practices": [],
- "prerequisites": ["arrays", "for-loops", "strings", "conditionals"],
+ "prerequisites": [
+ "arrays",
+ "for-loops",
+ "strings",
+ "conditionals"
+ ],
"difficulty": 3,
"topics": [
"arrays",
@@ -970,7 +1357,11 @@
"template-strings"
],
"difficulty": 4,
- "topics": ["files", "searching", "text_formatting"]
+ "topics": [
+ "files",
+ "searching",
+ "text_formatting"
+ ]
},
{
"slug": "rectangles",
@@ -979,14 +1370,24 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": ["arrays", "conditionals", "loops", "matrices", "strings"]
+ "topics": [
+ "arrays",
+ "conditionals",
+ "loops",
+ "matrices",
+ "strings"
+ ]
},
{
"slug": "spiral-matrix",
"name": "Spiral Matrix",
"uuid": "c1abafcc-0d44-4fb5-afae-bff3ce2e1b39",
"practices": [],
- "prerequisites": ["arrays", "for-loops", "conditionals"],
+ "prerequisites": [
+ "arrays",
+ "for-loops",
+ "conditionals"
+ ],
"difficulty": 4,
"topics": [
"arrays",
@@ -1038,7 +1439,11 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": ["domain_specific_languages", "parsing", "stacks"]
+ "topics": [
+ "domain_specific_languages",
+ "parsing",
+ "stacks"
+ ]
},
{
"slug": "food-chain",
@@ -1047,14 +1452,21 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": ["algorithms", "text_formatting"]
+ "topics": [
+ "algorithms",
+ "text_formatting"
+ ]
},
{
"slug": "house",
"name": "House",
"uuid": "a8b7187d-12eb-4efc-b966-87823654ccda",
"practices": [],
- "prerequisites": ["for-loops", "arrays", "strings"],
+ "prerequisites": [
+ "for-loops",
+ "arrays",
+ "strings"
+ ],
"difficulty": 4
},
{
@@ -1114,7 +1526,12 @@
"name": "Twelve Days",
"uuid": "64de1776-d5c6-43fe-9abf-7e3aa08ae342",
"practices": [],
- "prerequisites": ["arrays", "conditionals", "for-loops", "strings"],
+ "prerequisites": [
+ "arrays",
+ "conditionals",
+ "for-loops",
+ "strings"
+ ],
"difficulty": 4,
"topics": [
"conditionals",
@@ -1132,7 +1549,11 @@
"practices": [],
"prerequisites": [],
"difficulty": 6,
- "topics": ["promises", "error_handling", "higher_order_functions"]
+ "topics": [
+ "promises",
+ "error_handling",
+ "higher_order_functions"
+ ]
},
{
"slug": "yacht",
@@ -1147,7 +1568,12 @@
"sets"
],
"difficulty": 4,
- "topics": ["arrays", "conditionals", "filtering", "games"]
+ "topics": [
+ "arrays",
+ "conditionals",
+ "filtering",
+ "games"
+ ]
},
{
"slug": "beer-song",
@@ -1161,7 +1587,11 @@
"template-strings"
],
"difficulty": 5,
- "topics": ["conditionals", "loops", "strings"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "strings"
+ ]
},
{
"slug": "resistor-color-trio",
@@ -1176,7 +1606,10 @@
"template-strings"
],
"difficulty": 5,
- "topics": ["conditionals", "loops"]
+ "topics": [
+ "conditionals",
+ "loops"
+ ]
},
{
"slug": "dominoes",
@@ -1192,7 +1625,9 @@
"while-loops"
],
"difficulty": 6,
- "topics": ["graph_theory"]
+ "topics": [
+ "graph_theory"
+ ]
},
{
"slug": "say",
@@ -1224,7 +1659,11 @@
"name": "Diamond",
"uuid": "6a1eee0e-f8d4-446d-9c52-f31c3700af1b",
"practices": [],
- "prerequisites": ["arrays", "for-loops", "strings"],
+ "prerequisites": [
+ "arrays",
+ "for-loops",
+ "strings"
+ ],
"difficulty": 5,
"topics": [
"arrays",
@@ -1250,7 +1689,11 @@
"while-loops"
],
"difficulty": 5,
- "topics": ["algorithms", "floating_point_numbers", "math"]
+ "topics": [
+ "algorithms",
+ "floating_point_numbers",
+ "math"
+ ]
},
{
"slug": "sublist",
@@ -1264,16 +1707,28 @@
"conditionals"
],
"difficulty": 4,
- "topics": ["arrays", "lists"]
+ "topics": [
+ "arrays",
+ "lists"
+ ]
},
{
"slug": "binary-search-tree",
"name": "Binary Search Tree",
"uuid": "6c4b4e25-c115-4789-9058-d28ab6ca0d26",
"practices": [],
- "prerequisites": ["classes", "conditionals", "recursion"],
+ "prerequisites": [
+ "classes",
+ "conditionals",
+ "recursion"
+ ],
"difficulty": 6,
- "topics": ["algorithms", "conditionals", "loops", "recursion"]
+ "topics": [
+ "algorithms",
+ "conditionals",
+ "loops",
+ "recursion"
+ ]
},
{
"slug": "custom-set",
@@ -1313,7 +1768,13 @@
"while-loops"
],
"difficulty": 7,
- "topics": ["algorithms", "arrays", "conditionals", "loops", "recursion"]
+ "topics": [
+ "algorithms",
+ "arrays",
+ "conditionals",
+ "loops",
+ "recursion"
+ ]
},
{
"slug": "circular-buffer",
@@ -1342,16 +1803,30 @@
"name": "Simple Linked List",
"uuid": "a1591026-2f02-45f9-b189-24b2359eb43f",
"practices": [],
- "prerequisites": ["arrays", "classes", "conditionals", "for-loops"],
+ "prerequisites": [
+ "arrays",
+ "classes",
+ "conditionals",
+ "for-loops"
+ ],
"difficulty": 8,
- "topics": ["arrays", "data_structures", "lists"]
+ "topics": [
+ "arrays",
+ "data_structures",
+ "lists"
+ ]
},
{
"slug": "word-search",
"name": "Word Search",
"uuid": "0125f5a7-8883-4553-a6c1-45f19544af5e",
"practices": [],
- "prerequisites": ["arrays", "array-loops", "classes", "conditionals"],
+ "prerequisites": [
+ "arrays",
+ "array-loops",
+ "classes",
+ "conditionals"
+ ],
"difficulty": 8,
"topics": [
"arrays",
@@ -1377,7 +1852,10 @@
"rest-and-spread"
],
"difficulty": 5,
- "topics": ["bitwise_operations", "transforming"]
+ "topics": [
+ "bitwise_operations",
+ "transforming"
+ ]
},
{
"slug": "two-bucket",
@@ -1419,7 +1897,10 @@
"rest-and-spread"
],
"difficulty": 7,
- "topics": ["algorithms", "games"]
+ "topics": [
+ "algorithms",
+ "games"
+ ]
},
{
"slug": "connect",
@@ -1487,7 +1968,12 @@
"prerequisites": [],
"difficulty": 5,
"status": "deprecated",
- "topics": ["algorithms", "callbacks", "loops", "lists"]
+ "topics": [
+ "algorithms",
+ "callbacks",
+ "loops",
+ "lists"
+ ]
},
{
"slug": "flatten-array",
@@ -1496,7 +1982,10 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": ["arrays", "recursion"]
+ "topics": [
+ "arrays",
+ "recursion"
+ ]
},
{
"slug": "nth-prime",
@@ -1521,7 +2010,13 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": ["conditionals", "loops", "integers", "math", "recursion"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "integers",
+ "math",
+ "recursion"
+ ]
},
{
"slug": "rotational-cipher",
@@ -1530,7 +2025,12 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": ["conditionals", "strings", "text_formatting", "transforming"]
+ "topics": [
+ "conditionals",
+ "strings",
+ "text_formatting",
+ "transforming"
+ ]
},
{
"slug": "diffie-hellman",
@@ -1555,7 +2055,12 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": ["algorithms", "arrays", "filtering", "math"]
+ "topics": [
+ "algorithms",
+ "arrays",
+ "filtering",
+ "math"
+ ]
},
{
"slug": "atbash-cipher",
@@ -1612,7 +2117,12 @@
"name": "Kindergarten Garden",
"uuid": "13444eff-005a-405e-9737-7b64d99c1a61",
"practices": [],
- "prerequisites": ["arrays", "classes", "strings", "rest-and-spread"],
+ "prerequisites": [
+ "arrays",
+ "classes",
+ "strings",
+ "rest-and-spread"
+ ],
"difficulty": 7,
"topics": [
"arrays",
@@ -1629,7 +2139,13 @@
"practices": [],
"prerequisites": [],
"difficulty": 5,
- "topics": ["conditionals", "loops", "integers", "lists", "math"]
+ "topics": [
+ "conditionals",
+ "loops",
+ "integers",
+ "lists",
+ "math"
+ ]
},
{
"slug": "change",
@@ -1638,7 +2154,11 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": ["algorithms", "performance", "searching"]
+ "topics": [
+ "algorithms",
+ "performance",
+ "searching"
+ ]
},
{
"slug": "point-mutations",
@@ -1656,7 +2176,12 @@
"practices": [],
"prerequisites": [],
"difficulty": 1,
- "topics": ["algorithms", "conditionals", "loops", "strings"]
+ "topics": [
+ "algorithms",
+ "conditionals",
+ "loops",
+ "strings"
+ ]
},
{
"slug": "armstrong-numbers",
@@ -1665,7 +2190,10 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": ["algorithms", "math"]
+ "topics": [
+ "algorithms",
+ "math"
+ ]
},
{
"slug": "dnd-character",
@@ -1674,7 +2202,10 @@
"practices": [],
"prerequisites": [],
"difficulty": 2,
- "topics": ["classes", "randomness"]
+ "topics": [
+ "classes",
+ "randomness"
+ ]
},
{
"slug": "run-length-encoding",
@@ -1774,7 +2305,12 @@
"practices": [],
"prerequisites": [],
"difficulty": 4,
- "topics": ["bitwise_operations", "algorithms", "loops", "math"]
+ "topics": [
+ "bitwise_operations",
+ "algorithms",
+ "loops",
+ "math"
+ ]
},
{
"slug": "trinary",
@@ -1816,7 +2352,11 @@
"practices": [],
"prerequisites": [],
"difficulty": 7,
- "topics": ["algorithms", "arrays", "games"]
+ "topics": [
+ "algorithms",
+ "arrays",
+ "games"
+ ]
},
{
"slug": "queen-attack",
@@ -1842,7 +2382,11 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": ["algorithms", "events", "reactive_programming"]
+ "topics": [
+ "algorithms",
+ "events",
+ "reactive_programming"
+ ]
},
{
"slug": "zipper",
@@ -1851,43 +2395,80 @@
"practices": [],
"prerequisites": [],
"difficulty": 8,
- "topics": ["recursion", "searching", "trees"]
+ "topics": [
+ "recursion",
+ "searching",
+ "trees"
+ ]
},
{
"slug": "zebra-puzzle",
"name": "Zebra Puzzle",
"uuid": "3a34cb49-546f-4aae-b49e-7d5b25db7ebb",
"practices": [],
- "prerequisites": ["arrays", "classes", "for-loops", "maps"],
+ "prerequisites": [
+ "arrays",
+ "classes",
+ "for-loops",
+ "maps"
+ ],
"difficulty": 7,
- "topics": ["algorithms", "logic"]
+ "topics": [
+ "algorithms",
+ "logic"
+ ]
},
{
"slug": "tournament",
"name": "Tournament",
"uuid": "e5e5363d-4e9a-478f-8b18-e578f3721ac5",
"practices": [],
- "prerequisites": ["arrays", "strings", "for-loops", "objects"],
+ "prerequisites": [
+ "arrays",
+ "strings",
+ "for-loops",
+ "objects"
+ ],
"difficulty": 3,
- "topics": ["parsing", "strings"]
+ "topics": [
+ "parsing",
+ "strings"
+ ]
},
{
"slug": "rail-fence-cipher",
"name": "Rail Fence Cipher",
"uuid": "5f0352e5-0988-434a-82c7-f6810d41d63a",
"practices": [],
- "prerequisites": ["arrays", "strings", "for-loops", "conditionals"],
+ "prerequisites": [
+ "arrays",
+ "strings",
+ "for-loops",
+ "conditionals"
+ ],
"difficulty": 3,
- "topics": ["parsing", "strings", "iteration"]
+ "topics": [
+ "parsing",
+ "strings",
+ "iteration"
+ ]
},
{
"slug": "rest-api",
"name": "REST API",
"uuid": "75b4816d-a5d7-4840-92d6-7249c9e8beeb",
"practices": [],
- "prerequisites": ["arrays", "classes", "array-loops", "objects"],
+ "prerequisites": [
+ "arrays",
+ "classes",
+ "array-loops",
+ "objects"
+ ],
"difficulty": 6,
- "topics": ["algorithms", "logic"]
+ "topics": [
+ "algorithms",
+ "logic"
+ ]
},
{
"slug": "go-counting",
@@ -1903,7 +2484,10 @@
"conditionals-switch"
],
"difficulty": 5,
- "topics": ["algorithms", "logic"]
+ "topics": [
+ "algorithms",
+ "logic"
+ ]
},
{
"slug": "knapsack",
@@ -1918,7 +2502,10 @@
"conditionals"
],
"difficulty": 5,
- "topics": ["algorithms", "logic"]
+ "topics": [
+ "algorithms",
+ "logic"
+ ]
},
{
"slug": "satellite",