Skip to content

Latest commit

 

History

History

hw03_frequency_analysis

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Домашнее задание №3 «Частотный анализ»

Необходимо написать Go функцию, принимающую на вход строку с текстом и возвращающую слайс с 10-ю наиболее часто встречаемыми в тексте словами.

  • Если есть более 10 самых частотых слов (например 15 разных слов встречаются ровно 133 раза, остальные < 100), можно вернуть любые 10 из самых частотных.

  • Словоформы не учитываем. "нога", "ногу", "ноги" - это разные слова.

  • Слово с большой и маленькой буквы считать за разные слова. "Нога" и "нога" - это разные слова.

  • Знаки препинания считать "буквами" слова или отдельными словами. "-" (тире) - это отдельное слово. "нога," и "нога" - это разные слова.

Пример: "cat and dog, one dog,two cats and one man". "and", "one", "dog," - встречаются 2, 2 и 1 раз, это топ-3.

При необходимости можно выделять дополнительные функции / ошибки.

(*) Дополнительное задание: учитывать большие/маленькие буквы и знаки препинания:

  • "Нога" и "нога" - это одинаковые слова, "нога!", "нога" и " 'нога' " - это одинаковые слова;
  • "какой-то" и "какойто" - это разные слова, "—" (тире) - это не слово.

Критерии оценки

  • Пайплайн зелёный - 4 балла
  • Добавлены новые юнит-тесты - до 4 баллов
  • Понятность и чистота кода - до 2 баллов
  • Дополнительное задание на баллы не влияет

Зачёт от 7 баллов

Подсказки

  • regexp.MustCompile
  • strings.Split
  • sort.Slice