{ "slug":"scala", "language":"Scala", "repository":"https://github.com/exercism/xscala", "active":true, "exercises":[ { "slug":"hello-world", "difficulty":1, "topics":[ "Strings" ] }, { "slug":"bob", "difficulty":1, "topics":[ "Strings", "Control-flow (if-else statements)", "Pattern matching" ] }, { "slug":"sum-of-multiples", "difficulty":1, "topics":[ "Filtering", "Sets" ] }, { "slug":"leap", "difficulty":1, "topics":[ "Integers", "Mathematics" ] }, { "slug":"space-age", "difficulty":1, "topics":[ "Dates", "Enumerations", "Domain-specific languages" ] }, { "slug":"gigasecond", "difficulty":1, "topics":[ "Dates", "Time", "Function Overloading" ] }, { "slug":"difference-of-squares", "difficulty":1, "topics":[ "Integers", "Mathematics" ] }, { "slug":"pangram", "difficulty":2, "topics":[ "Strings" ] }, { "slug":"grade-school", "difficulty":2, "topics":[ "Maps", "Sequences", "Sorting" ] }, { "slug":"accumulate", "difficulty":2, "topics":[ "Generics", "Lists", "Transforming" ] }, { "slug":"raindrops", "difficulty":2, "topics":[ "Strings", "Logic", "Transforming" ] }, { "slug":"perfect-numbers", "difficulty":2, "topics":[ "Enumerations", "Integers", "Mathematics" ] }, { "slug":"hamming", "difficulty":3, "topics":[ "Strings", "Filtering", "Optional values" ] }, { "slug":"phone-number", "difficulty":3, "topics":[ "Optional values", "Strings", "Parsing", "Transforming" ] }, { "slug":"strain", "difficulty":3, "topics":[ "Generics", "Sequences", "Filtering" ] }, { "slug":"robot-name", "difficulty":3, "topics":[ "Strings", "Randomness" ] }, { "slug":"etl", "difficulty":3, "topics":[ "Lists", "Maps", "Sequences", "Strings", "Transforming" ] }, { "slug":"grains", "difficulty":3, "topics":[ "Optional values", "Mathematics" ] }, { "slug":"scrabble-score", "difficulty":3, "topics":[ "Strings", "Transforming" ] }, { "slug":"rna-transcription", "difficulty":3, "topics":[ "Optional values", "Strings", "Transforming" ] }, { "slug":"triangle", "difficulty":3, "topics":[ "Enumerations", "Mathematics" ] }, { "slug":"binary-search", "difficulty":3, "topics":[ "Searching", "Arrays", "Optional values" ] }, { "slug":"secret-handshake", "difficulty":3, "topics":[ "Lists", "Strings", "Bitwise operations" ] }, { "slug":"sieve", "difficulty":3, "topics":[ "Filtering", "Mathematics", "Lists" ] }, { "slug":"robot-simulator", "difficulty":3, "topics":[ "Enumerations", "Tuples" ] }, { "slug":"isogram", "difficulty":3, "topics":[ "Strings", "Filtering" ] }, { "slug":"clock", "difficulty":3, "topics":[ "Time", "Structural equality" ] }, { "slug":"matrix", "difficulty":4, "topics":[ "Strings", "Matrices", "Parsing", "Vectors" ] }, { "slug":"house", "difficulty":4, "topics":[ "Strings", "Text formatting", "Algorithms" ] }, { "slug":"series", "difficulty":4, "topics":[ "Strings", "Sequences", "Transforming" ] }, { "slug":"word-count", "difficulty":4, "topics":[ "Maps", "Strings", "Transforming" ] }, { "slug":"anagram", "difficulty":4, "topics":[ "Sequences", "Strings", "Filtering" ] }, { "slug":"nucleotide-count", "difficulty":4, "topics":[ "Maps", "Strings" ] }, { "slug":"meetup", "difficulty":4, "topics":[ "Dates" ] }, { "slug":"prime-factors", "difficulty":4, "topics":[ "Lists", "Integers", "Algorithms", "Mathematics" ] }, { "slug":"allergies", "difficulty":4, "topics":[ "Lists", "Enumerations", "Filtering" ] }, { "slug":"all-your-base", "difficulty":4, "topics":[ "Integers", "Lists", "Optional values", "Mathematics", "Transforming" ] }, { "slug":"kindergarten-garden", "difficulty":4, "topics":[ "Enumerations", "Transforming", "Lists" ] }, { "slug":"largest-series-product", "difficulty":4, "topics":[ "Strings", "Integers", "Optional values", "Transforming", "Mathematics" ] }, { "slug":"pascals-triangle", "difficulty":4, "topics":[ "Control-flow (loops)", "Lists", "Mathematics" ] }, { "slug":"pythagorean-triplet", "difficulty":4, "topics":[ "Integers", "Mathematics", "Sequences", "Tuples" ] }, { "slug":"saddle-points", "difficulty":4, "topics":[ "Matrices", "Lists", "Sets", "Tuples" ] }, { "slug":"acronym", "difficulty":4, "topics":[ "Strings", "Transforming" ] }, { "slug":"run-length-encoding", "difficulty":5, "topics":[ "Algorithms", "Transforming", "Strings" ] }, { "slug":"roman-numerals", "difficulty":5, "topics":[ "Sequences", "Algorithms", "Transforming" ] }, { "slug":"simple-linked-list", "difficulty":5, "topics":[ "Classes", "Lists", "Transforming", "Generics" ] }, { "slug":"atbash-cipher", "difficulty":5, "topics":[ "Strings", "Transforming", "Security" ] }, { "slug":"simple-cipher", "difficulty":5, "topics":[ "Optional values", "Strings", "Algorithms", "Transforming" ] }, { "slug":"bank-account", "difficulty":5, "topics":[ "Parallellism" ] }, { "slug":"crypto-square", "difficulty":5, "topics":[ "Strings", "Lists", "Security", "Transforming" ] }, { "slug":"bracket-push", "difficulty":5, "topics":[ "Strings", "Parsing" ] }, { "slug":"queen-attack", "difficulty":5, "topics":[ "Strings", "Optional values", "Logic", "Games" ] }, { "slug":"luhn", "difficulty":5, "topics":[ "Strings", "Algorithms", "Transforming" ] }, { "slug":"food-chain", "difficulty":5, "topics":[ "Text formatting", "Algorithms" ] }, { "slug":"linked-list", "difficulty":5, "topics":[ "Lists", "Generics", "Optional values" ] }, { "slug":"custom-set", "difficulty":5, "topics":[ "Sets", "Lists", "Generics" ] }, { "slug":"parallel-letter-frequency", "difficulty":5, "topics":[ "Maps", "Sequences", "Strings", "Parallellism", "Transforming", "Dictionaries" ] }, { "slug":"nth-prime", "difficulty":6, "topics":[ "Optional values", "Algorithms", "Mathematics" ] }, { "slug":"palindrome-products", "difficulty":6, "topics":[ "Sets", "Strings", "Tuples", "Algorithms" ] }, { "slug":"ocr-numbers", "difficulty":6, "topics":[ "Lists", "Strings", "Parsing", "Pattern recognition", "Transforming" ] }, { "slug":"pig-latin", "difficulty":6, "topics":[ "Strings", "Transforming" ] }, { "slug":"binary-search-tree", "difficulty":6, "topics":[ "Searching", "Lists", "Trees", "Generics" ] }, { "slug":"rail-fence-cipher", "difficulty":6, "topics":[ "Strings", "Algorithms", "Transforming" ] }, { "slug":"bowling", "difficulty":6, "topics":[ "Algorithms", "Control-flow (if-else statements)", "Lists" ] }, { "slug":"dominoes", "difficulty":7, "topics":[ "Lists", "Optional values", "Tuples", "Games" ] }, { "slug":"sublist", "difficulty":7, "topics":[ "Generics", "Enumerations", "Lists" ] }, { "slug":"minesweeper", "difficulty":7, "topics":[ "Lists", "Strings", "Parsing", "Transforming" ] }, { "slug":"wordy", "difficulty":7, "topics":[ "Mathematics", "Optional values", "Parsing", "Strings", "Transforming" ] }, { "slug":"change", "difficulty":7, "topics":[ "Integers", "Lists", "Optional values", "Mathematics" ] }, { "slug":"connect", "difficulty":8, "topics":[ "Recursion", "Graphs", "Optional values", "Algorithms", "Games", "Searching" ] }, { "slug":"zebra-puzzle", "difficulty":8, "topics":[ "Logic" ] }, { "slug":"say", "difficulty":8, "topics":[ "Strings", "Transforming", "Text formatting", "Optional values" ] }, { "slug":"alphametics", "difficulty":9, "topics":[ "Maps", "Optional values", "Strings", "Parsing" ] }, { "slug":"sgf-parsing", "difficulty":9, "topics":[ "Parsing", "Transforming" ] }, { "slug":"lens-person", "difficulty":9, "topics":[ ] }, { "slug":"variable-length-quantity", "difficulty":9, "topics":[ "Discriminated unions", "Lists", "Algorithms", "Bitwise operations" ] }, { "slug":"zipper", "difficulty":10, "topics":[ "Generics", "Optional values", "Trees" ] }, { "slug":"forth", "difficulty":10, "topics":[ "Strings", "Mathematics", "Parsing" ] } ], "deprecated":[ "binary", "hexadecimal", "octal", "trinary" ], "ignored":[ "docs", "img", "project", "target", "testgen" ], "foregone":[ ] }