Професионална програма
Loading...
NiKoev avatar NiKoev 1 Точки

04. Snowwhite, Retake Exam - 05 January 2018

Здравейте колеги, 

Опитахте се реша 4-та задача Snowwhite от Programming Fundamentals Retake Exam - 05 January изпита. Искам да я реша с Dictionary, тъй като не сханах много класовете. Докарах я до 60/100. Мисля, че съм изпълнил всички условия и сортировката би трябвало да работи. Не мога да намеря проблема. Благодаря предварително! Ето кода: https://pastebin.com/fqr45mwk

0
Fundamentals Module
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей,

При твоя подход проблема е че ключ на речника са цветовете на шапките на джуджетата и при сортировка

сортираш цветовете на шапките, а не самите джуджета.

За да се получи с вложени речници, трябва първо да сортираш речника по броя на шапките, да го презапишеш в

Dictionary<string, int> и за ключ трябва да слагаш ключа на първия речник + ключа на вложения речник (така както ще се принтират) и после да сортираш презаписания речник по physics или иначе казано трябва да сортираш наобратно спрямо условието на задачата.

Ето как изглежда сортировката:

 

            Dictionary<string, int> sortedDwarfs = new Dictionary<string, int>();
            foreach (var hatColor in dwarfs.OrderByDescending(x=>x.Value.Count()))
            {
                foreach (var dwarf in hatColor.Value)
                {
                    sortedDwarfs.Add($"({hatColor.Key}) {dwarf.Key} <-> ", dwarf.Value);
                }
            }
            foreach (var dwarf in sortedDwarfs.OrderByDescending(x=>x.Value))
            {
                Console.WriteLine($"{dwarf.Key}{dwarf.Value}");
            }

2
28/06/2018 13:07:35
NiKoev avatar NiKoev 1 Точки

Благодаря Много!

0
Elena123456 avatar Elena123456 224 Точки

И аз благодаря много за споделеното решение!

Поздрави!

0