Skip to content

Instantly share code, notes, and snippets.

@VolodyaG

VolodyaG/Lazy King Test Secret

Last active Sep 14, 2020
Embed
What would you like to do?
import java.util.List;
/*
* В одной далекой стране правил крайне сумасбродный король, который больше всего на свете любил власть.
* Ему подчинялось множество людей, но вот незадача, у его подчиненных тоже были свои слуги.
* Король обезумел от мысли, что какой-нибудь дворянин или даже зажиточный холоп может иметь больше слуг, чем он сам.
* И приказал всем людям на бумаге через запятую написать свое имя и имена своих прямых подчиненных.
*
* По результатам опроса король получил огромный список из имен (see "pollResults")
*
* У короля разболелась голова. Что с этими данными делать, король не знал и делегировал задачу невезучему слуге.
* Помогите слуге правильно составить иерархию и подготовить отчет для короля следующим образом:
*
* король
* дворянин Кузькин
* управляющий Семен Семеныч
* крестьянин Федя
* доярка Нюра
* жена Кузькина
* ...
* секретарь короля
* зажиточный холоп
* ...
* ...
*
* Помните:
* 1. Те, у кого нет подчиненных, просто написали свое имя.
* 2. Те, кого никто не указал как слугу, подчиняются напрямую королю (ну, пускай бедный король так думает).
* 3. Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.
*
* Ответ присылайте ссылкой на опубликованный приватный Gist.
* */
public class LazyKing {
private static List<String> pollResults = List.of(
"служанка Аня",
"управляющий Семен Семеныч: крестьянин Федя, доярка Нюра",
"дворянин Кузькин: управляющий Семен Семеныч, жена Кузькина, экономка Лидия Федоровна",
"экономка Лидия Федоровна: дворник Гена, служанка Аня",
"доярка Нюра",
"кот Василий: человеческая особь Катя",
"дворник Гена: посыльный Тошка",
"киллер Гена",
"зажиточный холоп: крестьянка Таня",
"секретарь короля: зажиточный холоп, шпион Т",
"шпион Т: кучер Д",
"посыльный Тошка: кот Василий",
"аристократ Клаус",
"просветленный Антон"
);
public static void main(String... args) {
UnluckyVassal unluckyVassal = new UnluckyVassal();
unluckyVassal.printReportForKing(pollResults);
}
}
class UnluckyVassal {
public void printReportForKing(List<String> pollResults) {
}
}
@NanoToster

This comment has been minimized.

Copy link

@NanoToster NanoToster commented Jul 31, 2020

Привет!)

Возможно стоит исправить 28 строчку на "Те, у кого нет подчиненных, просто написали свое имя."

@gudleifrgit

This comment has been minimized.

Copy link

@gudleifrgit gudleifrgit commented Aug 4, 2020

Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".

@VolodyaG

This comment has been minimized.

Copy link
Owner Author

@VolodyaG VolodyaG commented Aug 7, 2020

Тем больше проблем досталось невезучему слуге..

@mulya

This comment has been minimized.

Copy link

@mulya mulya commented Aug 7, 2020

Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".

Это "мертвая душа"))

@slabod

This comment has been minimized.

Copy link

@slabod slabod commented Aug 14, 2020

  1. Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.

Что конкретно это значит? Подчинённые каждого участника должны быть отсортированы? В примере выше это, кажется, не выполняется

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.