Skip to content

golubtsoff/alfabank_task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание на вакансию java-разработчик в Альфа-Банк

Автор решения - Голубцов Евгений
Дата - 28.01.2018

Постановка задачи

Есть строка, состоящая из слов. Все слова в ней разделены одним пробелом. Нужно преобразовать строку в такую структуру данных, которая группирует слова по первой букве в слове.

Затем вывести только группы, содержащие более одного элемента. Группы должны быть отсортированы в алфавитном порядке по всем буквам в слове.

Слова внутри группы нужно сортировать по убыванию (по количеству символов); если число символов равное, то сортировать в алфавитном порядке.

Пример строки: String s = "сапог сарай арбуз болт бокс биржа"
Отсортированная строка: [б=[биржа, бокс, болт], c=[caпог, сарай]]

Описание решения

При решении были приняты следующие допущения:

  • версия JRE - 1.8.
  • строка задаётся в режиме диалога из консоли (кодировка для Windows - cp1251, для Linux - UTF-8);
  • все буквы преобразуются в нижний регистр;
  • повторы слов исключаются;
  • отсортированная строка представляется в фигурных скобках "{}"", а группы - в квадратных"[]"" (например, {б=[биржа, бокс, болт], c=[caпог, сарай]});

Запуск программы

Для запуска следует использовать файл "alfabank_task.jar".
Ключи запуска из консоли:

  • "-c" - ввод строки из консоли (например, "java -jar alfabank_task.jar -c");
  • без ключа - запуск в демо-режиме (например, "java -jar alfabank_task.jar").

Для корректной работы в Windows настройте кодировку консоли cp1251, введя команду "ChCp 1251".
Также, для проверки работы программы в консольном режиме можно запустить следующие файлы:

  • start.bat (для Windows, кодировка уже настроена);
  • start.sh (для Linux).

About

Test task for vacancy java-developer in Alfa-Bank (JavaSE 8, JUnit)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages