Колеги малко помощ с нестед речници c# fundamentals
Колеги немога да изпринтирам valueto на речника в речника тоест да сортирам по него да се изпринтирва ключа малко объркващо звучи , но прегледайте условието на задачата
-02. Tagram C# Advanced Exam - 14 October 2018 https://judge.softuni.bg/Contests/Practice/Index/1289#1
-ето и моето решение което не е правилно в изпринтирването https://pastebin.com/c2x1R81Q
ахааа да , условието е малко игнорирано , добре имаш ли нещо против да пипнеш само сортировката която мисля ,че е по сложен linQ Или ти имаш идея нов речник и по него тотал лайкс , моля те пусни едно кодче по полезно ще ми е .
Ако можеш желая ти хубав ден !
По принцип не обичам да давам готов код :) Предпочитам поредица от насоки, които в някакъв момент да помогнат човек сам да си изгради решението.
В случая решение с вложен речник работи. По твоя код корекциите са минимални (от гледна точка на променени редове). Това, което трябва, е да махнеш вътрешната сортировка, а външната да я коригираш спрямо условието с две последователни сортирания. Схемата е следната:
Втората сортировка е по-лесна, трябва ти броя тагове, което лесно може да достъпиш. За ключа х имаме като стойност речник и на този речник искаме размера (т.е. брой KeyValuePair записи).
Първото сортиране е малко по-особено. Схемата е следната - за ключа х взимаме вложения речник с таговете и трябва да намерим сумата на лайковете за всички тагове. Има начин да вземеш като колекция директно стойностите на вложения речник, демек само броя лайкове и след това да ги сумираш.
Почовъркай още малко по кода и ако не се получи ще копирам корекцията, която направих по твоето решение.
Колега 100 от 100 , реших проблема като почовърках малко , схемата беше да махна вътрешната сортировка и да оправя вътрешната като условието
foreach (var username in Tagram.OrderByDescending(x=>x.Value.Values.Sum()).ThenBy(x=>x.Value.Keys.Count))
{
Console.WriteLine(username.Key);
foreach (var item in username.Value)
{
Console.WriteLine($"- {item.Key}: {item.Value}");
}
}
Поздрави и Благодаря