Skip to content

Instantly share code, notes, and snippets.

@VolodyaG
Last active Jul 15, 2021
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. Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.

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

@tikurilla

This comment has been minimized.

Copy link

@tikurilla tikurilla commented Mar 12, 2021

Да, что значит "Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии"? В примере невозможно определить способ сортировки. "крестьянин Федя, доярка Нюра" - этот список отсортирован или нет? Если да, то как?

@VolodyaG

This comment has been minimized.

Copy link
Owner Author

@VolodyaG VolodyaG commented Mar 12, 2021

@tikurilla @slabod
Спасибо что заметели, поправил пример чтобы соответствовал требованию

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment