Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 5.55 KB

basic-katas.md

File metadata and controls

75 lines (53 loc) · 5.55 KB

Рекомендуемые каты

Ниже рекомендуемые каты из Codewars. Они примерно отсортированы от легких к сложным, выбирайте сами подходящий момент, когда начинать их делать (но по большей части после 6 главы Learn you a Haskell можно смело браться за первые задания).

  1. Is this a triangle

    Определение, могут ли данных три числа быть длинами сторон треугольника.

    С этой катой тренируются базовые логические конструкции. Полезно, что есть простор и для элегантных решений, и для решений "в лоб".

    Есть вероятность, что практикующий потренирует так же совсем базовую работу со списками (хотя тут это необязательно).

  2. Disemvowel trolls

    Задача на удаление всех гласных (почти) из строки.

    Позволяет закрепить отношение к строкам, как к списку символов, тренирует работу со списками, особенно базовые навыки фильтрации. Ката была выбрана в том числе из-за интересного оформления самой задачи и конкретного use case, где нужно защищаться от кричащих троллей :)

  3. Highest and lowest

    Найти самое большое и самое маленькое значение из строки чисел, которую надо предварительно распарсить.

    Отличная задача для начального уровня, позволяет натренировать парсинг инстансов Read и самую базовую работу со списками (на поиск наименьшего и наибольшего значений). Естественно, и то, и другое, будет полезно уже при решении реальных задач.

  4. Isograms

    Задача на вычисление дубликатов в массиве. Это наглядный экземпляр стандартного алгоритмического задания, которое в разных вариациях часто встречается в упражнениях почти на всех языках. Здесь же можно опробовать её на Хаскеле и сравнить (на деле или интуитивно) с тем, как бы это решалось на остальных языках.

    Как и почти во всех классических задачах, тут есть простор для фантазии, несмотря на простоту описания. Можно решать как банальными конструкциями, а можно попытаться найти что-то изящное :)

  5. Split strings

    Задача с предельно простым описанием, очень ясным примером, но которая не такая очевидная в решении. Хорошо иллюстрирует работы с паттерн-матчингом и конструированием списков, которые тут приходится то разбирать, то собирать. Ну и, естественно, отличная тренировка самой базовой рекурсии.

  6. Tribonacci sequence

    Интересная вариация набившей оскомину задачи про ряд Фибоначчи. Очень простое с виду изменение правил игры заставляет призадуматься. Ката отлично тренирует конструирование списков и рекурсию, либо умение обходиться без рекурсии стандартными функциями высшего порядка :)

  7. Title case

    Кульминация базовых тренировок, где необходимо уметь работать и с символами, и со строками, и со списками. Задача, которая действительно может встретиться в боевых условиях, и которая позволит показать навыки написания "читаемого" кода. Здесь есть возможность, как для явной рекурсии, так и для использования стандартных функций высшего порядка, есть интересное требование замены буквы на заглавный аналог и условие, когда вообще ничего делать не надо :)