Skip to content
Материалы программы обучения MetaLamp
Share
Explore
Задание 1: теория

Дополнительные каты

Публикуем список дополнительных кат от тех, кто проходил обучение до вас) Все это не обязательно к выполнению, это просто для вашего собственного развития. Список будет дополняться. :)
Позволяет ещё немного потренироваться работать со списками. Можно написать рекурсивное решение, либо попробовать работать со свёртками, либо просто глубже поковырять стандартную библиотеку и найти в ней функции, позволяющие легко справиться с задачей.
Нужно проверить все ли скобки в выражении закрываются. Можно решать разными способами.
Она заставляет задуматься, что является аналогом стека в хаскеле, и тренирует навыки обращения со свертками.
Нужно найти является ли переданное число произведением соседних чисел в последовательности Фибоначчи.
Задача тренирует навыки создания рекурсии, или обращения с функциями из Data.List.
Перевернуть все слова по отдельности. Пробелы оставить как есть. У этой каты есть красивое решение с использованием комбинатора из Data.Function. Будет полезно познакомиться с этим модулем.
Интересная с задача с простым условием, для которой сразу понятен императивный алгоритм с вложенными циклами, но не сразу — функциональный.
Помечена как 4-ый кью, но на самом деле достаточно первых глав LYAH и умения работать со списками.
В задаче нужно найти индекс элемента в списке, где сумма элементов списка слева будет равна сумме элементов списка справа от найденного элемента. Если же такого элемента нет, то вывести -1.
В этой кате можно отработать работу со списками, поискать вспомогательные функции в модуле Data.List или же просто посмотреть интересные решение других людей.
Необходимо реализовать левую свертку через правую. Для решения нужно ознакомиться с реализацией обеих сверток и хорошо понимать, как работает каждая из них.
Для решения нужно хорошо разобраться в принципе работы обеих сверток, так как использовать reverse = читерить.
Нужно проверить предложенный маршрут (движение по сторонам света) на два условия: длительность (10 минут при минуте на одно перемещение) и совпадение начальной и конечной точки (вернуться туда, откуда пришёл).
Тренирует работу со списками или использование Data.List.
Небольшая ката для практики бесточечного стиля и работы со стандартными модулями типа Data.List, Data.Ord и т.д. на ваш выбор.
Простая ката, нацеленная на поиск дубликатов в массиве, что часто встречается в реальных задачах.
Ката с очевидным брутфорс-решением. Попытайтесь найти наиболее оптимальный алгоритм, потому как если написать слишком просто, то все тесты пройти не успеет.
У FindOutlier множестово разных решений функциями из Data.List, или можно в лоб, сверткой, тренирует паттерн матчинг и функции как объекты первого класса.
Достаточно простая ката для 4 кью. Тренирует обработку строки с использованием Data.Char и Data.List.
Логическое продолжение каты Tribonacci, достаточно интересное и неординарное решение, тренирует мозги.
Это простая ката 6 кью (30 минут на решение достаточно) позволит Вам потренироваться в создании пользовательского типа данных. Основной результат - это понимание реализации каких классов нужно предусмотреть для созданного типа, чтобы данные могли отправляться в функцию sort.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.