Algorithm Group 1
Algorithm Group 1 contains five exercises focused on fundamental data processing operations and working with common data structures.
The tasks involve transforming input data, searching multi-dimensional collections, filtering values based on conditions, processing matrices, and sorting structured data.
Tasks
Task 1 — String Pair Conversion
Transform paired string values into a key-value structure where names are used as keys and decimal values are converted to numeric values.
The task also requires attention to input validation, value conversion, and error handling.
Task 2 — Multi-Dimensional Value Search
Search a two-dimensional collection of decimal values and find all elements greater than a specified value.
For every matched element, preserve information about:
- the value
- the list in which it was found
- its position inside that list
Task 3 — Conditional Map Filtering
Process selected entries from a map containing collections of decimal values.
Values are filtered according to a comparison operator and a target value.
The supported comparison operations are:
- less than
- less than or equal to
- greater than
- greater than or equal to
Task 4 — Matrix Diagonal Processing
Work with a two-dimensional numeric matrix and calculate values based on positions relative to its diagonals.
The task focuses on understanding matrix coordinates and selecting elements according to their position.
Task 5 — Map Sorting
Process map data and produce ordered results based on its keys or values.
The task focuses on extracting structured data from a map and applying different sorting requirements.
Objectives
The exercises in this group provide practice with:
- slices and multi-dimensional slices
- maps
- numeric conversion
- searching
- filtering
- conditional processing
- matrix traversal
- sorting
- validation and error handling
Implementation
Read each individual task specification before choosing an implementation.
The examples provided by the tasks define the expected behavior for specific inputs, but the implementation should solve the general problem rather than only reproduce the example results.
Different implementation approaches are allowed unless an individual task explicitly defines a restriction.
When evaluating a solution, consider correctness, clarity, unnecessary iterations, memory usage, and the suitability of the selected data structures.