From 2f9dcb0f164745d6bae549fed2b122a48e3c74e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:06:42 -0700 Subject: [PATCH 1/3] Standardize existing difficulties by displayed level --- config.json | 138 ++++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/config.json b/config.json index bae1800..f0e3b6b 100644 --- a/config.json +++ b/config.json @@ -43,7 +43,7 @@ "uuid": "0488d664-0386-4471-b569-01f847ec6054", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "bitwise_operations", "filtering" @@ -55,7 +55,7 @@ "uuid": "ff07d780-2531-4728-9432-bd786652ad51", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "filtering", "strings" @@ -67,7 +67,7 @@ "uuid": "cd829c1c-8e35-4cf7-a47e-3b394a036637", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "algorithms", "strings", @@ -80,7 +80,7 @@ "uuid": "b5363091-1350-428f-b709-550f9352d562", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "math" ] @@ -91,7 +91,7 @@ "uuid": "c26876c4-060e-4870-b20c-a4a3ebbfcf7c", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "conditionals", "strings" @@ -103,7 +103,7 @@ "uuid": "5f6ed6d3-fd66-406a-9a92-544745a5e4ee", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "algorithms", "strings", @@ -123,7 +123,7 @@ "numbers", "math-operators" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "gigasecond", @@ -136,7 +136,7 @@ "datetimes", "numbers" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "hello-world", @@ -144,7 +144,7 @@ "uuid": "a3da97d9-8e55-47a2-ba80-7446ee8ddaa9", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "strings" ] @@ -163,7 +163,7 @@ "constructors", "numbers" ], - "difficulty": 1, + "difficulty": 2, "topics": [ "lists" ] @@ -174,7 +174,7 @@ "uuid": "9b1ce07f-05fb-4d01-b4cd-cf7a8799db2f", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "conditionals", "integers" @@ -192,7 +192,7 @@ "integers", "strings" ], - "difficulty": 1, + "difficulty": 2, "topics": [ "arrays" ] @@ -209,7 +209,7 @@ "strings", "numbers" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "resistor-color-trio", @@ -224,7 +224,7 @@ "numbers", "string-formatting" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "reverse-string", @@ -232,7 +232,7 @@ "uuid": "af6ae113-35b5-45a2-bf24-27381adf5c6f", "practices": [], "prerequisites": [], - "difficulty": 1, + "difficulty": 2, "topics": [ "strings" ] @@ -251,7 +251,7 @@ "strings", "exceptions" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "series", @@ -270,7 +270,7 @@ "for-loops", "exceptions" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "space-age", @@ -286,7 +286,7 @@ "constructors", "numbers" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "sum-of-multiples", @@ -303,7 +303,7 @@ "foreach-loops", "if-statements" ], - "difficulty": 1 + "difficulty": 2 }, { "slug": "two-fer", @@ -317,7 +317,7 @@ "optional-parameters", "string-interpolation" ], - "difficulty": 1, + "difficulty": 2, "topics": [ "optional_values", "strings" @@ -506,7 +506,7 @@ "uuid": "2523e11e-3a9e-4936-9cbb-37f53a6d90cb", "practices": [], "prerequisites": [], - "difficulty": 3, + "difficulty": 2, "status": "deprecated" }, { @@ -522,7 +522,7 @@ "numbers", "for-loops" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "bottle-song", @@ -537,7 +537,7 @@ "numbers", "for-loops" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "dnd-character", @@ -554,7 +554,7 @@ "numbers", "constructors" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "error-handling", @@ -571,7 +571,7 @@ "resource-cleanup", "numbers" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "grade-school", @@ -587,7 +587,7 @@ "enumerables", "ordering" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "isogram", @@ -603,7 +603,7 @@ "strings", "booleans" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "perfect-numbers", @@ -617,7 +617,7 @@ "numbers", "exceptions" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "phone-number", @@ -625,7 +625,7 @@ "uuid": "d620068b-b36f-464a-ba78-82e1f8532c53", "practices": [], "prerequisites": [], - "difficulty": 3, + "difficulty": 2, "topics": [ "parsing", "transforming" @@ -644,7 +644,7 @@ "while-loops", "arrays" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "proverb", @@ -658,7 +658,7 @@ "arrays", "for-loops" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "queen-attack", @@ -676,7 +676,7 @@ "math-operators", "exceptions" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "robot-name", @@ -693,7 +693,7 @@ "classes", "generic-types" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "robot-simulator", @@ -712,7 +712,7 @@ "chars", "switch-statements" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "scrabble-score", @@ -725,7 +725,7 @@ "numbers", "strings" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "secret-handshake", @@ -739,7 +739,7 @@ "bit-manipulation", "arrays" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "sieve", @@ -753,7 +753,7 @@ "numbers", "exceptions" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "triangle", @@ -768,7 +768,7 @@ "if-statements", "booleans" ], - "difficulty": 3 + "difficulty": 2 }, { "slug": "acronym", @@ -784,7 +784,7 @@ "strings", "booleans" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "affine-cipher", @@ -799,7 +799,7 @@ "numbers", "exceptions" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "all-your-base", @@ -807,7 +807,7 @@ "uuid": "016ea49c-036b-44f7-909b-4c38aa62d636", "practices": [], "prerequisites": [], - "difficulty": 4, + "difficulty": 5, "topics": [ "integers", "math", @@ -830,7 +830,7 @@ "properties", "exceptions" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "circular-buffer", @@ -848,7 +848,7 @@ "numbers", "exceptions" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "clock", @@ -856,7 +856,7 @@ "uuid": "12ce6363-d4dd-4ef0-82a6-388218aa71b7", "practices": [], "prerequisites": [], - "difficulty": 4, + "difficulty": 5, "topics": [ "classes", "equality" @@ -874,7 +874,7 @@ "string-formatting", "numbers" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "isbn-verifier", @@ -889,7 +889,7 @@ "chars", "booleans" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "largest-series-product", @@ -907,7 +907,7 @@ "for-loops", "exceptions" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "matrix", @@ -924,7 +924,7 @@ "numbers", "properties" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "meetup", @@ -936,7 +936,7 @@ "prerequisites": [ "datetimes" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "prime-factors", @@ -951,7 +951,7 @@ "arrays", "while-loops" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "pythagorean-triplet", @@ -967,7 +967,7 @@ "enumerables", "generic-methods" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "rotational-cipher", @@ -982,7 +982,7 @@ "strings", "numbers" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "saddle-points", @@ -999,7 +999,7 @@ "generic-methods", "numbers" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "simple-linked-list", @@ -1017,7 +1017,7 @@ "properties", "numbers" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "twelve-days", @@ -1032,7 +1032,7 @@ "for-loops", "string-formatting" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "word-count", @@ -1048,7 +1048,7 @@ "numbers", "exceptions" ], - "difficulty": 4 + "difficulty": 5 }, { "slug": "accumulate", @@ -1441,7 +1441,7 @@ "nullability", "exceptions" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "change", @@ -1456,7 +1456,7 @@ "arrays", "exceptions" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "pig-latin", @@ -1468,7 +1468,7 @@ "prerequisites": [ "strings" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "rail-fence-cipher", @@ -1483,7 +1483,7 @@ "numbers", "strings" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "rest-api", @@ -1497,7 +1497,7 @@ "optional-parameters", "constructors" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "tournament", @@ -1512,7 +1512,7 @@ "strings", "string-formatting" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "transpose", @@ -1525,7 +1525,7 @@ "strings", "for-loops" ], - "difficulty": 6 + "difficulty": 5 }, { "slug": "diffie-hellman", @@ -1541,7 +1541,7 @@ "big-integers", "math-operators" ], - "difficulty": 7 + "difficulty": 8 }, { "slug": "poker", @@ -1557,7 +1557,7 @@ "ordering", "if-statements" ], - "difficulty": 7 + "difficulty": 8 }, { "slug": "rectangles", @@ -1574,7 +1574,7 @@ "for-loops", "if-statements" ], - "difficulty": 7 + "difficulty": 8 }, { "slug": "variable-length-quantity", @@ -1591,7 +1591,7 @@ "while-loops", "exceptions" ], - "difficulty": 7 + "difficulty": 8 }, { "slug": "wordy", @@ -1606,7 +1606,7 @@ "numbers", "exceptions" ], - "difficulty": 7 + "difficulty": 8 }, { "slug": "say", @@ -1669,7 +1669,7 @@ "classes", "equality" ], - "difficulty": 10 + "difficulty": 8 } ] }, From 4ea8af997822fcf6d202ca448c044ac15330af19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:08:45 -0700 Subject: [PATCH 2/3] Move exercises to different difficulty band --- config.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config.json b/config.json index f0e3b6b..0f1d092 100644 --- a/config.json +++ b/config.json @@ -55,7 +55,7 @@ "uuid": "ff07d780-2531-4728-9432-bd786652ad51", "practices": [], "prerequisites": [], - "difficulty": 2, + "difficulty": 5, "topics": [ "filtering", "strings" @@ -67,7 +67,7 @@ "uuid": "cd829c1c-8e35-4cf7-a47e-3b394a036637", "practices": [], "prerequisites": [], - "difficulty": 2, + "difficulty": 5, "topics": [ "algorithms", "strings", @@ -91,7 +91,7 @@ "uuid": "c26876c4-060e-4870-b20c-a4a3ebbfcf7c", "practices": [], "prerequisites": [], - "difficulty": 2, + "difficulty": 5, "topics": [ "conditionals", "strings" @@ -103,7 +103,7 @@ "uuid": "5f6ed6d3-fd66-406a-9a92-544745a5e4ee", "practices": [], "prerequisites": [], - "difficulty": 2, + "difficulty": 5, "topics": [ "algorithms", "strings", @@ -358,7 +358,7 @@ "uuid": "c867b7c0-3810-40c5-9d71-5763f2e28505", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 5 }, { "slug": "darts", @@ -440,7 +440,7 @@ "uuid": "5734890a-67af-4eaf-8c78-7d7580b8db70", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 5 }, { "slug": "nucleotide-count", @@ -1066,7 +1066,7 @@ "enumerables", "extension-methods" ], - "difficulty": 5, + "difficulty": 2, "topics": [ "extension_methods", "sequences", @@ -1097,7 +1097,7 @@ "uuid": "6ea6e17c-9dbb-45c5-ab70-362791e5dd60", "practices": [], "prerequisites": [], - "difficulty": 5 + "difficulty": 8 }, { "slug": "flatten-array", From 5c70268e12d26776e9865b80e3106d9caf764ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Thu, 23 Jul 2026 16:27:46 -0700 Subject: [PATCH 3/3] Resort exercises --- .github/workflows/sorted.yml | 2 +- config.json | 1666 +++++++++++++++++----------------- 2 files changed, 834 insertions(+), 834 deletions(-) diff --git a/.github/workflows/sorted.yml b/.github/workflows/sorted.yml index 6b2af9e..0de38ff 100644 --- a/.github/workflows/sorted.yml +++ b/.github/workflows/sorted.yml @@ -13,4 +13,4 @@ jobs: name: Check uses: exercism/github-actions/.github/workflows/sorted.yml@main with: - ordering: ".difficulty, .lowercase_name" + ordering: ".bucket, .lowercase_name" diff --git a/config.json b/config.json index 0f1d092..e45ccf6 100644 --- a/config.json +++ b/config.json @@ -37,6 +37,29 @@ }, "exercises": { "practice": [ + { + "slug": "accumulate", + "name": "Accumulate", + "uuid": "b2e12f15-5cae-4848-9ee8-2e1b0992b69c", + "practices": [ + "lambdas", + "foreach", + "yield" + ], + "prerequisites": [ + "lambdas", + "generic-types", + "foreach", + "enumerables", + "extension-methods" + ], + "difficulty": 2, + "topics": [ + "extension_methods", + "sequences", + "transforming" + ] + }, { "slug": "allergies", "name": "Allergies", @@ -50,29 +73,27 @@ ] }, { - "slug": "anagram", - "name": "Anagram", - "uuid": "ff07d780-2531-4728-9432-bd786652ad51", - "practices": [], - "prerequisites": [], - "difficulty": 5, - "topics": [ - "filtering", - "strings" - ] + "slug": "armstrong-numbers", + "name": "Armstrong Numbers", + "uuid": "b6f4c895-255f-49ae-8163-ee26c2fc1189", + "practices": [ + "casting" + ], + "prerequisites": [ + "numbers", + "booleans", + "casting" + ], + "difficulty": 2 }, { - "slug": "atbash-cipher", - "name": "Atbash Cipher", - "uuid": "cd829c1c-8e35-4cf7-a47e-3b394a036637", + "slug": "beer-song", + "name": "Beer Song", + "uuid": "2523e11e-3a9e-4936-9cbb-37f53a6d90cb", "practices": [], "prerequisites": [], - "difficulty": 5, - "topics": [ - "algorithms", - "strings", - "transforming" - ] + "difficulty": 2, + "status": "deprecated" }, { "slug": "binary", @@ -86,30 +107,81 @@ ] }, { - "slug": "bob", - "name": "Bob", - "uuid": "c26876c4-060e-4870-b20c-a4a3ebbfcf7c", - "practices": [], - "prerequisites": [], - "difficulty": 5, - "topics": [ - "conditionals", - "strings" - ] + "slug": "binary-search", + "name": "Binary Search", + "uuid": "85ba3b9b-ea14-4032-a7e5-45e911e0e5fd", + "practices": [ + "arrays", + "for-loops" + ], + "prerequisites": [ + "arrays", + "numbers", + "for-loops" + ], + "difficulty": 2 }, { - "slug": "crypto-square", - "name": "Crypto Square", - "uuid": "5f6ed6d3-fd66-406a-9a92-544745a5e4ee", + "slug": "bottle-song", + "name": "Bottle Song", + "uuid": "7495b54e-0c0c-4e1f-af6a-f367402483b2", + "practices": [ + "switch-statements", + "string-formatting" + ], + "prerequisites": [ + "strings", + "numbers", + "for-loops" + ], + "difficulty": 2 + }, + { + "slug": "collatz-conjecture", + "name": "Collatz Conjecture", + "uuid": "751e4fea-1ee7-4c66-ba2b-802f3ab5f7d6", "practices": [], "prerequisites": [], - "difficulty": 5, + "difficulty": 2, "topics": [ "algorithms", - "strings", - "transforming" + "conditionals", + "integers", + "loops", + "math" ] }, + { + "slug": "dnd-character", + "name": "D&D Character", + "uuid": "dc8c3579-87bb-4730-aafa-fd0c01955250", + "practices": [ + "randomness", + "constructors" + ], + "prerequisites": [ + "randomness", + "classes", + "properties", + "numbers", + "constructors" + ], + "difficulty": 2 + }, + { + "slug": "darts", + "name": "Darts", + "uuid": "55100bd3-8470-45d2-ae90-ac3eb9fd786c", + "practices": [ + "floating-point-numbers", + "if-statements" + ], + "prerequisites": [ + "floating-point-numbers", + "if-statements" + ], + "difficulty": 2 + }, { "slug": "difference-of-squares", "name": "Difference of Squares", @@ -125,6 +197,46 @@ ], "difficulty": 2 }, + { + "slug": "eliuds-eggs", + "name": "Eliud's Eggs", + "uuid": "fdb2a717-08d5-4f2a-bd53-fba6fe7c85db", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, + { + "slug": "error-handling", + "name": "Error Handling", + "uuid": "09809c99-6fb9-4b7e-81b8-f069f79b0b0a", + "practices": [ + "exceptions", + "casting", + "resource-cleanup" + ], + "prerequisites": [ + "exceptions", + "casting", + "resource-cleanup", + "numbers" + ], + "difficulty": 2 + }, + { + "slug": "etl", + "name": "ETL", + "uuid": "5bc7cda0-519f-4a99-92d5-2e5e20d2a8c8", + "practices": [ + "linq", + "dictionaries" + ], + "prerequisites": [ + "strings", + "numbers", + "dictionaries" + ], + "difficulty": 2 + }, { "slug": "gigasecond", "name": "Gigasecond", @@ -138,6 +250,59 @@ ], "difficulty": 2 }, + { + "slug": "grade-school", + "name": "Grade School", + "uuid": "e017f9e9-d928-43d1-b69f-5176d4d93785", + "practices": [ + "dictionaries", + "ordering" + ], + "prerequisites": [ + "strings", + "numbers", + "enumerables", + "ordering" + ], + "difficulty": 2 + }, + { + "slug": "grains", + "name": "Grains", + "uuid": "804f12fe-dc2e-4f74-923a-6663fc968b06", + "practices": [ + "integral-numbers", + "math-operators" + ], + "prerequisites": [ + "integral-numbers", + "math-operators", + "if-statements", + "for-loops", + "exceptions" + ], + "difficulty": 2 + }, + { + "slug": "hamming", + "name": "Hamming", + "uuid": "39e7d0e6-d926-4d69-99d8-7f3084cab476", + "practices": [ + "if-statements", + "for-loops", + "linq" + ], + "prerequisites": [ + "if-statements", + "for-loops", + "strings" + ], + "difficulty": 2, + "topics": [ + "filtering", + "strings" + ] + }, { "slug": "hello-world", "name": "Hello World", @@ -168,6 +333,22 @@ "lists" ] }, + { + "slug": "isogram", + "name": "Isogram", + "uuid": "ffa3cdb7-5cc8-4583-b6b1-e17f18db2b5d", + "practices": [ + "chars", + "strings", + "sets" + ], + "prerequisites": [ + "chars", + "strings", + "booleans" + ], + "difficulty": 2 + }, { "slug": "leap", "name": "Leap", @@ -181,11 +362,134 @@ ] }, { - "slug": "resistor-color", - "name": "Resistor Color", - "uuid": "494268ff-654d-4376-a163-837c4ca3195f", - "practices": [ - "arrays" + "slug": "nucleotide-count", + "name": "Nucleotide Count", + "uuid": "57d134bd-f992-4452-b14c-fe2b533d72ee", + "practices": [ + "dictionaries", + "exceptions" + ], + "prerequisites": [ + "dictionaries", + "strings", + "chars", + "if-statements", + "foreach-loops", + "exceptions" + ], + "difficulty": 2 + }, + { + "slug": "pangram", + "name": "Pangram", + "uuid": "7db2492a-2d20-4be3-af4a-c9fad183c752", + "practices": [ + "chars", + "strings", + "sets" + ], + "prerequisites": [ + "chars", + "strings", + "booleans" + ], + "difficulty": 2 + }, + { + "slug": "perfect-numbers", + "name": "Perfect Numbers", + "uuid": "4e6633c9-4fd7-4a32-90c0-0498d06ddcbf", + "practices": [ + "numbers" + ], + "prerequisites": [ + "enums", + "numbers", + "exceptions" + ], + "difficulty": 2 + }, + { + "slug": "phone-number", + "name": "Phone Number", + "uuid": "d620068b-b36f-464a-ba78-82e1f8532c53", + "practices": [], + "prerequisites": [], + "difficulty": 2, + "topics": [ + "parsing", + "transforming" + ] + }, + { + "slug": "protein-translation", + "name": "Protein Translation", + "uuid": "d608e34e-2292-415b-b742-450155081fcd", + "practices": [ + "while-loops", + "linq" + ], + "prerequisites": [ + "strings", + "while-loops", + "arrays" + ], + "difficulty": 2 + }, + { + "slug": "proverb", + "name": "Proverb", + "uuid": "c9765122-c89e-4a9e-b423-74e9b3ee6691", + "practices": [ + "arrays" + ], + "prerequisites": [ + "strings", + "arrays", + "for-loops" + ], + "difficulty": 2 + }, + { + "slug": "queen-attack", + "name": "Queen Attack", + "uuid": "9066e7e7-d830-46a0-b022-a3b22acec455", + "practices": [ + "constructors", + "math-operators" + ], + "prerequisites": [ + "classes", + "constructors", + "booleans", + "if-statements", + "math-operators", + "exceptions" + ], + "difficulty": 2 + }, + { + "slug": "raindrops", + "name": "Raindrops", + "uuid": "36d91bd3-0cdc-4e53-94bf-4b9a797b596e", + "practices": [ + "if-statements", + "casting" + ], + "prerequisites": [ + "strings", + "if-statements", + "numbers", + "casting" + ], + "difficulty": 2 + }, + { + "slug": "resistor-color", + "name": "Resistor Color", + "uuid": "494268ff-654d-4376-a163-837c4ca3195f", + "practices": [ + "arrays" ], "prerequisites": [ "arrays", @@ -253,6 +557,69 @@ ], "difficulty": 2 }, + { + "slug": "robot-name", + "name": "Robot Name", + "uuid": "687037f7-bce0-4256-bcfd-1dda8bf0c401", + "practices": [ + "randomness", + "classes", + "sets" + ], + "prerequisites": [ + "randomness", + "strings", + "classes", + "generic-types" + ], + "difficulty": 2 + }, + { + "slug": "robot-simulator", + "name": "Robot Simulator", + "uuid": "99edb730-c79a-48b6-9bba-efc4b4882f44", + "practices": [ + "switch-statements", + "switch-expressions", + "constructors" + ], + "prerequisites": [ + "enums", + "classes", + "constructors", + "properties", + "chars", + "switch-statements" + ], + "difficulty": 2 + }, + { + "slug": "scrabble-score", + "name": "Scrabble Score", + "uuid": "2cdcf9b2-caa5-4116-bf38-e65138875112", + "practices": [ + "dictionaries" + ], + "prerequisites": [ + "numbers", + "strings" + ], + "difficulty": 2 + }, + { + "slug": "secret-handshake", + "name": "Secret Handshake", + "uuid": "61ea38ad-7600-42fc-aa6b-07188259689f", + "practices": [ + "bit-manipulation" + ], + "prerequisites": [ + "strings", + "bit-manipulation", + "arrays" + ], + "difficulty": 2 + }, { "slug": "series", "name": "Series", @@ -272,6 +639,20 @@ ], "difficulty": 2 }, + { + "slug": "sieve", + "name": "Sieve", + "uuid": "69846818-29ff-4293-84c2-49e62ee8dc34", + "practices": [ + "arrays" + ], + "prerequisites": [ + "arrays", + "numbers", + "exceptions" + ], + "difficulty": 2 + }, { "slug": "space-age", "name": "Space Age", @@ -288,6 +669,14 @@ ], "difficulty": 2 }, + { + "slug": "square-root", + "name": "Square Root", + "uuid": "5704628e-f23f-4867-ae95-63151fbbc97f", + "practices": [], + "prerequisites": [], + "difficulty": 2 + }, { "slug": "sum-of-multiples", "name": "Sum of Multiples", @@ -305,6 +694,21 @@ ], "difficulty": 2 }, + { + "slug": "triangle", + "name": "Triangle", + "uuid": "78113af6-b1a4-40ab-86c6-3b26afdec75f", + "practices": [ + "floating-point-numbers", + "if-statements" + ], + "prerequisites": [ + "floating-point-numbers", + "if-statements", + "booleans" + ], + "difficulty": 2 + }, { "slug": "two-fer", "name": "Two Fer", @@ -324,467 +728,20 @@ ] }, { - "slug": "armstrong-numbers", - "name": "Armstrong Numbers", - "uuid": "b6f4c895-255f-49ae-8163-ee26c2fc1189", + "slug": "acronym", + "name": "Acronym", + "uuid": "5583fbaa-0d79-4069-a1c7-782659e737e4", "practices": [ - "casting" + "chars", + "strings", + "regular-expressions" ], "prerequisites": [ - "numbers", - "booleans", - "casting" + "chars", + "strings", + "booleans" ], - "difficulty": 2 - }, - { - "slug": "collatz-conjecture", - "name": "Collatz Conjecture", - "uuid": "751e4fea-1ee7-4c66-ba2b-802f3ab5f7d6", - "practices": [], - "prerequisites": [], - "difficulty": 2, - "topics": [ - "algorithms", - "conditionals", - "integers", - "loops", - "math" - ] - }, - { - "slug": "game-of-life", - "name": "Conway's Game of Life", - "uuid": "c867b7c0-3810-40c5-9d71-5763f2e28505", - "practices": [], - "prerequisites": [], - "difficulty": 5 - }, - { - "slug": "darts", - "name": "Darts", - "uuid": "55100bd3-8470-45d2-ae90-ac3eb9fd786c", - "practices": [ - "floating-point-numbers", - "if-statements" - ], - "prerequisites": [ - "floating-point-numbers", - "if-statements" - ], - "difficulty": 2 - }, - { - "slug": "eliuds-eggs", - "name": "Eliud's Eggs", - "uuid": "fdb2a717-08d5-4f2a-bd53-fba6fe7c85db", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, - { - "slug": "etl", - "name": "ETL", - "uuid": "5bc7cda0-519f-4a99-92d5-2e5e20d2a8c8", - "practices": [ - "linq", - "dictionaries" - ], - "prerequisites": [ - "strings", - "numbers", - "dictionaries" - ], - "difficulty": 2 - }, - { - "slug": "grains", - "name": "Grains", - "uuid": "804f12fe-dc2e-4f74-923a-6663fc968b06", - "practices": [ - "integral-numbers", - "math-operators" - ], - "prerequisites": [ - "integral-numbers", - "math-operators", - "if-statements", - "for-loops", - "exceptions" - ], - "difficulty": 2 - }, - { - "slug": "hamming", - "name": "Hamming", - "uuid": "39e7d0e6-d926-4d69-99d8-7f3084cab476", - "practices": [ - "if-statements", - "for-loops", - "linq" - ], - "prerequisites": [ - "if-statements", - "for-loops", - "strings" - ], - "difficulty": 2, - "topics": [ - "filtering", - "strings" - ] - }, - { - "slug": "nth-prime", - "name": "Nth Prime", - "uuid": "5734890a-67af-4eaf-8c78-7d7580b8db70", - "practices": [], - "prerequisites": [], - "difficulty": 5 - }, - { - "slug": "nucleotide-count", - "name": "Nucleotide Count", - "uuid": "57d134bd-f992-4452-b14c-fe2b533d72ee", - "practices": [ - "dictionaries", - "exceptions" - ], - "prerequisites": [ - "dictionaries", - "strings", - "chars", - "if-statements", - "foreach-loops", - "exceptions" - ], - "difficulty": 2 - }, - { - "slug": "pangram", - "name": "Pangram", - "uuid": "7db2492a-2d20-4be3-af4a-c9fad183c752", - "practices": [ - "chars", - "strings", - "sets" - ], - "prerequisites": [ - "chars", - "strings", - "booleans" - ], - "difficulty": 2 - }, - { - "slug": "raindrops", - "name": "Raindrops", - "uuid": "36d91bd3-0cdc-4e53-94bf-4b9a797b596e", - "practices": [ - "if-statements", - "casting" - ], - "prerequisites": [ - "strings", - "if-statements", - "numbers", - "casting" - ], - "difficulty": 2 - }, - { - "slug": "square-root", - "name": "Square Root", - "uuid": "5704628e-f23f-4867-ae95-63151fbbc97f", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, - { - "slug": "beer-song", - "name": "Beer Song", - "uuid": "2523e11e-3a9e-4936-9cbb-37f53a6d90cb", - "practices": [], - "prerequisites": [], - "difficulty": 2, - "status": "deprecated" - }, - { - "slug": "binary-search", - "name": "Binary Search", - "uuid": "85ba3b9b-ea14-4032-a7e5-45e911e0e5fd", - "practices": [ - "arrays", - "for-loops" - ], - "prerequisites": [ - "arrays", - "numbers", - "for-loops" - ], - "difficulty": 2 - }, - { - "slug": "bottle-song", - "name": "Bottle Song", - "uuid": "7495b54e-0c0c-4e1f-af6a-f367402483b2", - "practices": [ - "switch-statements", - "string-formatting" - ], - "prerequisites": [ - "strings", - "numbers", - "for-loops" - ], - "difficulty": 2 - }, - { - "slug": "dnd-character", - "name": "D&D Character", - "uuid": "dc8c3579-87bb-4730-aafa-fd0c01955250", - "practices": [ - "randomness", - "constructors" - ], - "prerequisites": [ - "randomness", - "classes", - "properties", - "numbers", - "constructors" - ], - "difficulty": 2 - }, - { - "slug": "error-handling", - "name": "Error Handling", - "uuid": "09809c99-6fb9-4b7e-81b8-f069f79b0b0a", - "practices": [ - "exceptions", - "casting", - "resource-cleanup" - ], - "prerequisites": [ - "exceptions", - "casting", - "resource-cleanup", - "numbers" - ], - "difficulty": 2 - }, - { - "slug": "grade-school", - "name": "Grade School", - "uuid": "e017f9e9-d928-43d1-b69f-5176d4d93785", - "practices": [ - "dictionaries", - "ordering" - ], - "prerequisites": [ - "strings", - "numbers", - "enumerables", - "ordering" - ], - "difficulty": 2 - }, - { - "slug": "isogram", - "name": "Isogram", - "uuid": "ffa3cdb7-5cc8-4583-b6b1-e17f18db2b5d", - "practices": [ - "chars", - "strings", - "sets" - ], - "prerequisites": [ - "chars", - "strings", - "booleans" - ], - "difficulty": 2 - }, - { - "slug": "perfect-numbers", - "name": "Perfect Numbers", - "uuid": "4e6633c9-4fd7-4a32-90c0-0498d06ddcbf", - "practices": [ - "numbers" - ], - "prerequisites": [ - "enums", - "numbers", - "exceptions" - ], - "difficulty": 2 - }, - { - "slug": "phone-number", - "name": "Phone Number", - "uuid": "d620068b-b36f-464a-ba78-82e1f8532c53", - "practices": [], - "prerequisites": [], - "difficulty": 2, - "topics": [ - "parsing", - "transforming" - ] - }, - { - "slug": "protein-translation", - "name": "Protein Translation", - "uuid": "d608e34e-2292-415b-b742-450155081fcd", - "practices": [ - "while-loops", - "linq" - ], - "prerequisites": [ - "strings", - "while-loops", - "arrays" - ], - "difficulty": 2 - }, - { - "slug": "proverb", - "name": "Proverb", - "uuid": "c9765122-c89e-4a9e-b423-74e9b3ee6691", - "practices": [ - "arrays" - ], - "prerequisites": [ - "strings", - "arrays", - "for-loops" - ], - "difficulty": 2 - }, - { - "slug": "queen-attack", - "name": "Queen Attack", - "uuid": "9066e7e7-d830-46a0-b022-a3b22acec455", - "practices": [ - "constructors", - "math-operators" - ], - "prerequisites": [ - "classes", - "constructors", - "booleans", - "if-statements", - "math-operators", - "exceptions" - ], - "difficulty": 2 - }, - { - "slug": "robot-name", - "name": "Robot Name", - "uuid": "687037f7-bce0-4256-bcfd-1dda8bf0c401", - "practices": [ - "randomness", - "classes", - "sets" - ], - "prerequisites": [ - "randomness", - "strings", - "classes", - "generic-types" - ], - "difficulty": 2 - }, - { - "slug": "robot-simulator", - "name": "Robot Simulator", - "uuid": "99edb730-c79a-48b6-9bba-efc4b4882f44", - "practices": [ - "switch-statements", - "switch-expressions", - "constructors" - ], - "prerequisites": [ - "enums", - "classes", - "constructors", - "properties", - "chars", - "switch-statements" - ], - "difficulty": 2 - }, - { - "slug": "scrabble-score", - "name": "Scrabble Score", - "uuid": "2cdcf9b2-caa5-4116-bf38-e65138875112", - "practices": [ - "dictionaries" - ], - "prerequisites": [ - "numbers", - "strings" - ], - "difficulty": 2 - }, - { - "slug": "secret-handshake", - "name": "Secret Handshake", - "uuid": "61ea38ad-7600-42fc-aa6b-07188259689f", - "practices": [ - "bit-manipulation" - ], - "prerequisites": [ - "strings", - "bit-manipulation", - "arrays" - ], - "difficulty": 2 - }, - { - "slug": "sieve", - "name": "Sieve", - "uuid": "69846818-29ff-4293-84c2-49e62ee8dc34", - "practices": [ - "arrays" - ], - "prerequisites": [ - "arrays", - "numbers", - "exceptions" - ], - "difficulty": 2 - }, - { - "slug": "triangle", - "name": "Triangle", - "uuid": "78113af6-b1a4-40ab-86c6-3b26afdec75f", - "practices": [ - "floating-point-numbers", - "if-statements" - ], - "prerequisites": [ - "floating-point-numbers", - "if-statements", - "booleans" - ], - "difficulty": 2 - }, - { - "slug": "acronym", - "name": "Acronym", - "uuid": "5583fbaa-0d79-4069-a1c7-782659e737e4", - "practices": [ - "chars", - "strings", - "regular-expressions" - ], - "prerequisites": [ - "chars", - "strings", - "booleans" - ], - "difficulty": 5 + "difficulty": 5 }, { "slug": "affine-cipher", @@ -814,6 +771,31 @@ "transforming" ] }, + { + "slug": "anagram", + "name": "Anagram", + "uuid": "ff07d780-2531-4728-9432-bd786652ad51", + "practices": [], + "prerequisites": [], + "difficulty": 5, + "topics": [ + "filtering", + "strings" + ] + }, + { + "slug": "atbash-cipher", + "name": "Atbash Cipher", + "uuid": "cd829c1c-8e35-4cf7-a47e-3b394a036637", + "practices": [], + "prerequisites": [], + "difficulty": 5, + "topics": [ + "algorithms", + "strings", + "transforming" + ] + }, { "slug": "bank-account", "name": "Bank Account", @@ -833,271 +815,116 @@ "difficulty": 5 }, { - "slug": "circular-buffer", - "name": "Circular Buffer", - "uuid": "cb6a61c6-16fa-4caa-8727-2f50341861e5", - "practices": [ - "queues", - "generic-types", - "exceptions" - ], - "prerequisites": [ - "queues", - "classes", - "generic-types", - "numbers", - "exceptions" - ], - "difficulty": 5 - }, - { - "slug": "clock", - "name": "Clock", - "uuid": "12ce6363-d4dd-4ef0-82a6-388218aa71b7", + "slug": "bob", + "name": "Bob", + "uuid": "c26876c4-060e-4870-b20c-a4a3ebbfcf7c", "practices": [], "prerequisites": [], "difficulty": 5, "topics": [ - "classes", - "equality" + "conditionals", + "strings" ] }, { - "slug": "house", - "name": "House", - "uuid": "e191cff0-b845-48f0-9ac9-daae63af9e8a", - "practices": [ - "string-formatting" - ], - "prerequisites": [ - "strings", - "string-formatting", - "numbers" - ], - "difficulty": 5 - }, - { - "slug": "isbn-verifier", - "name": "ISBN Verifier", - "uuid": "c9151160-d2e8-4c54-9191-04644d913cd6", - "practices": [ - "chars", - "regular-expressions" - ], - "prerequisites": [ - "strings", - "chars", - "booleans" - ], - "difficulty": 5 - }, - { - "slug": "largest-series-product", - "name": "Largest Series Product", - "uuid": "19675f15-ff61-41e9-8610-c27edaefde04", + "slug": "book-store", + "name": "Book Store", + "uuid": "4555cf8b-e800-494e-bc23-61f9428c900b", "practices": [ - "integral-numbers", - "math-operators" - ], - "prerequisites": [ - "integral-numbers", - "math-operators", - "strings", - "chars", + "linq", "for-loops", - "exceptions" - ], - "difficulty": 5 - }, - { - "slug": "matrix", - "name": "Matrix", - "uuid": "2d9a1b92-9315-49cb-9e47-cff0caffe8a4", - "practices": [ - "properties", - "classes", - "arrays" - ], - "prerequisites": [ - "arrays", - "classes", - "numbers", - "properties" - ], - "difficulty": 5 - }, - { - "slug": "meetup", - "name": "Meetup", - "uuid": "2a099206-450b-4ef8-a282-66ec460aa286", - "practices": [ - "datetimes" - ], - "prerequisites": [ - "datetimes" - ], - "difficulty": 5 - }, - { - "slug": "prime-factors", - "name": "Prime Factors", - "uuid": "551510bc-817d-4145-b974-f9149f7e1c5e", - "practices": [ - "integral-numbers", - "while-loops" - ], - "prerequisites": [ - "integral-numbers", - "arrays", - "while-loops" - ], - "difficulty": 5 - }, - { - "slug": "pythagorean-triplet", - "name": "Pythagorean Triplet", - "uuid": "ceb811d0-3aae-4517-9e37-1eca5ba07c39", - "practices": [ - "tuples", - "generic-methods" - ], - "prerequisites": [ - "tuples", - "numbers", - "enumerables", - "generic-methods" - ], - "difficulty": 5 - }, - { - "slug": "rotational-cipher", - "name": "Rotational Cipher", - "uuid": "bced4d03-740d-4d71-8e08-7a47f6f0d6af", - "practices": [ - "chars", - "strings" - ], - "prerequisites": [ - "chars", - "strings", - "numbers" - ], - "difficulty": 5 - }, - { - "slug": "saddle-points", - "name": "Saddle Points", - "uuid": "cbdb6929-d1cb-416a-b38a-8eda20401deb", - "practices": [ - "multi-dimensional-arrays", - "tuples" - ], - "prerequisites": [ - "multi-dimensional-arrays", - "tuples", - "enumerables", - "generic-methods", - "numbers" - ], - "difficulty": 5 - }, - { - "slug": "simple-linked-list", - "name": "Simple Linked List", - "uuid": "ed632f85-3488-4cec-bbbb-19582a380c1f", - "practices": [ - "interfaces", - "generic-types", - "properties", - "enumerables" + "floating-point-numbers", + "recursion" ], "prerequisites": [ - "interfaces", - "generic-types", - "properties", - "numbers" + "floating-point-numbers", + "numbers", + "enumerables", + "for-loops" ], "difficulty": 5 }, { - "slug": "twelve-days", - "name": "Twelve Days", - "uuid": "a3845cd0-061c-4c1b-a687-45a28a9504a0", + "slug": "bowling", + "name": "Bowling", + "uuid": "7d306a39-c748-4372-8ad6-eb9ff1d42a8b", "practices": [ - "string-formatting" + "nullability", + "classes" ], "prerequisites": [ - "strings", "numbers", - "for-loops", - "string-formatting" + "classes", + "nullability", + "exceptions" ], "difficulty": 5 }, { - "slug": "word-count", - "name": "Word Count", - "uuid": "af99f598-996e-4a03-ba5d-5cea5de96e0c", + "slug": "change", + "name": "Change", + "uuid": "4b4197d2-8123-4474-8c32-1191c1f9b5cd", "practices": [ - "dictionaries", - "regular-expressions" + "exceptions", + "linq" ], "prerequisites": [ - "strings", - "dictionaries", "numbers", + "arrays", "exceptions" ], "difficulty": 5 }, { - "slug": "accumulate", - "name": "Accumulate", - "uuid": "b2e12f15-5cae-4848-9ee8-2e1b0992b69c", + "slug": "circular-buffer", + "name": "Circular Buffer", + "uuid": "cb6a61c6-16fa-4caa-8727-2f50341861e5", "practices": [ - "lambdas", - "foreach", - "yield" + "queues", + "generic-types", + "exceptions" ], "prerequisites": [ - "lambdas", + "queues", + "classes", "generic-types", - "foreach", - "enumerables", - "extension-methods" + "numbers", + "exceptions" ], - "difficulty": 2, + "difficulty": 5 + }, + { + "slug": "clock", + "name": "Clock", + "uuid": "12ce6363-d4dd-4ef0-82a6-388218aa71b7", + "practices": [], + "prerequisites": [], + "difficulty": 5, "topics": [ - "extension_methods", - "sequences", - "transforming" + "classes", + "equality" ] }, { - "slug": "book-store", - "name": "Book Store", - "uuid": "4555cf8b-e800-494e-bc23-61f9428c900b", - "practices": [ - "linq", - "for-loops", - "floating-point-numbers", - "recursion" - ], - "prerequisites": [ - "floating-point-numbers", - "numbers", - "enumerables", - "for-loops" - ], + "slug": "game-of-life", + "name": "Conway's Game of Life", + "uuid": "c867b7c0-3810-40c5-9d71-5763f2e28505", + "practices": [], + "prerequisites": [], "difficulty": 5 }, { - "slug": "diamond", - "name": "Diamond", - "uuid": "6ea6e17c-9dbb-45c5-ab70-362791e5dd60", + "slug": "crypto-square", + "name": "Crypto Square", + "uuid": "5f6ed6d3-fd66-406a-9a92-544745a5e4ee", "practices": [], "prerequisites": [], - "difficulty": 8 + "difficulty": 5, + "topics": [ + "algorithms", + "strings", + "transforming" + ] }, { "slug": "flatten-array", @@ -1166,6 +993,53 @@ ], "difficulty": 5 }, + { + "slug": "house", + "name": "House", + "uuid": "e191cff0-b845-48f0-9ac9-daae63af9e8a", + "practices": [ + "string-formatting" + ], + "prerequisites": [ + "strings", + "string-formatting", + "numbers" + ], + "difficulty": 5 + }, + { + "slug": "isbn-verifier", + "name": "ISBN Verifier", + "uuid": "c9151160-d2e8-4c54-9191-04644d913cd6", + "practices": [ + "chars", + "regular-expressions" + ], + "prerequisites": [ + "strings", + "chars", + "booleans" + ], + "difficulty": 5 + }, + { + "slug": "largest-series-product", + "name": "Largest Series Product", + "uuid": "19675f15-ff61-41e9-8610-c27edaefde04", + "practices": [ + "integral-numbers", + "math-operators" + ], + "prerequisites": [ + "integral-numbers", + "math-operators", + "strings", + "chars", + "for-loops", + "exceptions" + ], + "difficulty": 5 + }, { "slug": "ledger", "name": "Ledger", @@ -1245,6 +1119,35 @@ ], "difficulty": 5 }, + { + "slug": "matrix", + "name": "Matrix", + "uuid": "2d9a1b92-9315-49cb-9e47-cff0caffe8a4", + "practices": [ + "properties", + "classes", + "arrays" + ], + "prerequisites": [ + "arrays", + "classes", + "numbers", + "properties" + ], + "difficulty": 5 + }, + { + "slug": "meetup", + "name": "Meetup", + "uuid": "2a099206-450b-4ef8-a282-66ec460aa286", + "practices": [ + "datetimes" + ], + "prerequisites": [ + "datetimes" + ], + "difficulty": 5 + }, { "slug": "minesweeper", "name": "Minesweeper", @@ -1254,6 +1157,14 @@ "difficulty": 5, "status": "deprecated" }, + { + "slug": "nth-prime", + "name": "Nth Prime", + "uuid": "5734890a-67af-4eaf-8c78-7d7580b8db70", + "practices": [], + "prerequisites": [], + "difficulty": 5 + }, { "slug": "ocr-numbers", "name": "OCR Numbers", @@ -1288,6 +1199,64 @@ ], "difficulty": 5 }, + { + "slug": "pig-latin", + "name": "Pig Latin", + "uuid": "65780c09-7730-447d-ae61-43f19283be85", + "practices": [ + "regular-expressions" + ], + "prerequisites": [ + "strings" + ], + "difficulty": 5 + }, + { + "slug": "prime-factors", + "name": "Prime Factors", + "uuid": "551510bc-817d-4145-b974-f9149f7e1c5e", + "practices": [ + "integral-numbers", + "while-loops" + ], + "prerequisites": [ + "integral-numbers", + "arrays", + "while-loops" + ], + "difficulty": 5 + }, + { + "slug": "pythagorean-triplet", + "name": "Pythagorean Triplet", + "uuid": "ceb811d0-3aae-4517-9e37-1eca5ba07c39", + "practices": [ + "tuples", + "generic-methods" + ], + "prerequisites": [ + "tuples", + "numbers", + "enumerables", + "generic-methods" + ], + "difficulty": 5 + }, + { + "slug": "rail-fence-cipher", + "name": "Rail Fence Cipher", + "uuid": "b8645a9c-bd7e-4e57-81b4-079b5e0c3bb0", + "practices": [ + "constructors" + ], + "prerequisites": [ + "classes", + "constructors", + "numbers", + "strings" + ], + "difficulty": 5 + }, { "slug": "relative-distance", "name": "Relative Distance", @@ -1296,6 +1265,20 @@ "prerequisites": [], "difficulty": 5 }, + { + "slug": "rest-api", + "name": "REST API", + "uuid": "31b40119-cb73-420c-aec9-d920450966df", + "practices": [ + "optional-parameters" + ], + "prerequisites": [ + "strings", + "optional-parameters", + "constructors" + ], + "difficulty": 5 + }, { "slug": "roman-numerals", "name": "Roman Numerals", @@ -1313,6 +1296,21 @@ ], "difficulty": 5 }, + { + "slug": "rotational-cipher", + "name": "Rotational Cipher", + "uuid": "bced4d03-740d-4d71-8e08-7a47f6f0d6af", + "practices": [ + "chars", + "strings" + ], + "prerequisites": [ + "chars", + "strings", + "numbers" + ], + "difficulty": 5 + }, { "slug": "run-length-encoding", "name": "Run-Length Encoding", @@ -1328,6 +1326,23 @@ ], "difficulty": 5 }, + { + "slug": "saddle-points", + "name": "Saddle Points", + "uuid": "cbdb6929-d1cb-416a-b38a-8eda20401deb", + "practices": [ + "multi-dimensional-arrays", + "tuples" + ], + "prerequisites": [ + "multi-dimensional-arrays", + "tuples", + "enumerables", + "generic-methods", + "numbers" + ], + "difficulty": 5 + }, { "slug": "scale-generator", "name": "Scale Generator", @@ -1355,6 +1370,24 @@ ], "difficulty": 5 }, + { + "slug": "simple-linked-list", + "name": "Simple Linked List", + "uuid": "ed632f85-3488-4cec-bbbb-19582a380c1f", + "practices": [ + "interfaces", + "generic-types", + "properties", + "enumerables" + ], + "prerequisites": [ + "interfaces", + "generic-types", + "properties", + "numbers" + ], + "difficulty": 5 + }, { "slug": "spiral-matrix", "name": "Spiral Matrix", @@ -1392,140 +1425,107 @@ "difficulty": 5 }, { - "slug": "tree-building", - "name": "Tree Building", - "uuid": "a135ee70-f24c-4b7c-8257-ace42d4f1c3b", + "slug": "tournament", + "name": "Tournament", + "uuid": "a15aad1a-b578-46f9-b720-7d448da0459c", "practices": [ - "properties", - "classes", - "enumerables" + "streams", + "string-formatting" ], "prerequisites": [ - "classes", - "properties", - "exceptions", - "foreach-loops", - "numbers", - "booleans", - "enumerables", - "generic-methods" + "streams", + "strings", + "string-formatting" ], "difficulty": 5 }, { - "slug": "yacht", - "name": "Yacht", - "uuid": "043776f5-cc8a-4b34-9701-c1569610a995", + "slug": "transpose", + "name": "Transpose", + "uuid": "729499b6-c3bb-4b53-9a9c-ab3567f527bc", "practices": [ - "enums", - "linq" + "for-loops" ], "prerequisites": [ - "enums", - "arrays", - "numbers" + "strings", + "for-loops" ], "difficulty": 5 }, { - "slug": "bowling", - "name": "Bowling", - "uuid": "7d306a39-c748-4372-8ad6-eb9ff1d42a8b", + "slug": "tree-building", + "name": "Tree Building", + "uuid": "a135ee70-f24c-4b7c-8257-ace42d4f1c3b", "practices": [ - "nullability", - "classes" + "properties", + "classes", + "enumerables" ], "prerequisites": [ - "numbers", "classes", - "nullability", - "exceptions" - ], - "difficulty": 5 - }, - { - "slug": "change", - "name": "Change", - "uuid": "4b4197d2-8123-4474-8c32-1191c1f9b5cd", - "practices": [ + "properties", "exceptions", - "linq" - ], - "prerequisites": [ + "foreach-loops", "numbers", - "arrays", - "exceptions" - ], - "difficulty": 5 - }, - { - "slug": "pig-latin", - "name": "Pig Latin", - "uuid": "65780c09-7730-447d-ae61-43f19283be85", - "practices": [ - "regular-expressions" - ], - "prerequisites": [ - "strings" + "booleans", + "enumerables", + "generic-methods" ], "difficulty": 5 }, { - "slug": "rail-fence-cipher", - "name": "Rail Fence Cipher", - "uuid": "b8645a9c-bd7e-4e57-81b4-079b5e0c3bb0", + "slug": "twelve-days", + "name": "Twelve Days", + "uuid": "a3845cd0-061c-4c1b-a687-45a28a9504a0", "practices": [ - "constructors" + "string-formatting" ], "prerequisites": [ - "classes", - "constructors", + "strings", "numbers", - "strings" + "for-loops", + "string-formatting" ], "difficulty": 5 }, { - "slug": "rest-api", - "name": "REST API", - "uuid": "31b40119-cb73-420c-aec9-d920450966df", + "slug": "word-count", + "name": "Word Count", + "uuid": "af99f598-996e-4a03-ba5d-5cea5de96e0c", "practices": [ - "optional-parameters" + "dictionaries", + "regular-expressions" ], "prerequisites": [ "strings", - "optional-parameters", - "constructors" + "dictionaries", + "numbers", + "exceptions" ], "difficulty": 5 }, { - "slug": "tournament", - "name": "Tournament", - "uuid": "a15aad1a-b578-46f9-b720-7d448da0459c", + "slug": "yacht", + "name": "Yacht", + "uuid": "043776f5-cc8a-4b34-9701-c1569610a995", "practices": [ - "streams", - "string-formatting" + "enums", + "linq" ], "prerequisites": [ - "streams", - "strings", - "string-formatting" + "enums", + "arrays", + "numbers" ], "difficulty": 5 }, { - "slug": "transpose", - "name": "Transpose", - "uuid": "729499b6-c3bb-4b53-9a9c-ab3567f527bc", - "practices": [ - "for-loops" - ], - "prerequisites": [ - "strings", - "for-loops" - ], - "difficulty": 5 + "slug": "diamond", + "name": "Diamond", + "uuid": "6ea6e17c-9dbb-45c5-ab70-362791e5dd60", + "practices": [], + "prerequisites": [], + "difficulty": 8 }, { "slug": "diffie-hellman", @@ -1577,68 +1577,68 @@ "difficulty": 8 }, { - "slug": "variable-length-quantity", - "name": "Variable Length Quantity", - "uuid": "428f8080-f804-4433-b0c9-9cc1e7f82fa1", + "slug": "say", + "name": "Say", + "uuid": "f0155d4f-052f-4d13-a3dd-67777ef3520a", "practices": [ "integral-numbers", - "bit-manipulation" + "while-loops", + "if-statements" ], "prerequisites": [ "integral-numbers", - "arrays", - "bit-manipulation", + "strings", "while-loops", + "if-statements", "exceptions" ], "difficulty": 8 }, { - "slug": "wordy", - "name": "Wordy", - "uuid": "542820e5-43a9-4c05-93c2-e3e07329f380", + "slug": "two-bucket", + "name": "Two Bucket", + "uuid": "d3b77661-8e55-42c3-8bd4-953ad640aca6", "practices": [ - "switch-statements", - "regular-expressions" + "properties", + "constructors" ], "prerequisites": [ - "strings", - "numbers", - "exceptions" + "enums", + "constructors", + "properties", + "numbers" ], "difficulty": 8 }, { - "slug": "say", - "name": "Say", - "uuid": "f0155d4f-052f-4d13-a3dd-67777ef3520a", + "slug": "variable-length-quantity", + "name": "Variable Length Quantity", + "uuid": "428f8080-f804-4433-b0c9-9cc1e7f82fa1", "practices": [ "integral-numbers", - "while-loops", - "if-statements" + "bit-manipulation" ], "prerequisites": [ "integral-numbers", - "strings", + "arrays", + "bit-manipulation", "while-loops", - "if-statements", "exceptions" ], "difficulty": 8 }, { - "slug": "two-bucket", - "name": "Two Bucket", - "uuid": "d3b77661-8e55-42c3-8bd4-953ad640aca6", + "slug": "wordy", + "name": "Wordy", + "uuid": "542820e5-43a9-4c05-93c2-e3e07329f380", "practices": [ - "properties", - "constructors" + "switch-statements", + "regular-expressions" ], "prerequisites": [ - "enums", - "constructors", - "properties", - "numbers" + "strings", + "numbers", + "exceptions" ], "difficulty": 8 },