Advertisement
Guest User

Untitled

a guest
Jul 17th, 2020
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. namespace _09._ForceBook
  2. {
  3. using System;
  4. using System.Linq;
  5. using System.Collections.Generic;
  6.  
  7. public class ForceBook
  8. {
  9. public static void Main()
  10. {
  11. Dictionary<string, string> sideName = new Dictionary<string, string>();
  12.  
  13. while (true)
  14. {
  15. string input = Console.ReadLine();
  16.  
  17. if (input == "Lumpawaroo")
  18. {
  19. break;
  20. }
  21.  
  22. string[] tokens = new string[0];
  23.  
  24. if (input.Contains("|"))
  25. {
  26. tokens = input.Split(" | ");
  27.  
  28. string forceSide = tokens[0];
  29. string forceUser = tokens[1];
  30.  
  31. if (sideName.ContainsKey(forceUser) == false)
  32. {
  33. sideName[forceUser] = forceSide;
  34. }
  35. }
  36. else
  37. {
  38. tokens = input.Split(" -> ");
  39.  
  40. string forceUser = tokens[0];
  41. string forceSide = tokens[1];
  42.  
  43. if (sideName.ContainsKey(forceUser))
  44. {
  45. sideName[forceUser] = forceSide;
  46. }
  47. else
  48. {
  49. sideName[forceUser] = forceSide;
  50. }
  51.  
  52. Console.WriteLine($"{forceUser} joins the {forceSide} side!");
  53. }
  54. }
  55.  
  56. var fillteredSideName = sideName
  57. .GroupBy(x => x.Value)
  58. .OrderByDescending(x => x.Count())
  59. .ThenBy(x => x.Key);
  60.  
  61. foreach (var kvp in fillteredSideName)
  62. {
  63. string side = kvp.Key;
  64. var sideNameValue = kvp;
  65.  
  66. Console.WriteLine($"Side: {side}, Members: {sideNameValue.Count()}");
  67.  
  68. foreach (var kvpValue in sideNameValue.OrderBy(x => x.Key))
  69. {
  70. string name = kvpValue.Key;
  71. string side2 = kvpValue.Value;
  72.  
  73. Console.WriteLine($"! {name} ");
  74. }
  75. }
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement