Advertisement
tochka

Hands of Cards 66/100

Feb 14th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _05.Hands_of_Cards
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. string[] data = Console.ReadLine()
  14. .Split(new char[] { ',', ':', ' ' },StringSplitOptions.RemoveEmptyEntries)
  15. .ToArray();
  16.  
  17. Dictionary<string, List<string>> values = new Dictionary<string, List<string>>();
  18.  
  19. while (data[0] != "JOKER")
  20. {
  21. string name = data[0];
  22. List<string> cards = data.Skip(1).Take(data.Length).ToList();
  23.  
  24. if(!values.ContainsKey(name))
  25. {
  26. values.Add(name, cards);
  27. }
  28. else
  29. {
  30. values[name].AddRange(cards);
  31. }
  32.  
  33. data = Console.ReadLine()
  34. .Split(new char[] { ',', ':', ' ' },StringSplitOptions.RemoveEmptyEntries)
  35. .ToArray();
  36. }
  37.  
  38.  
  39. foreach (var players in values)
  40. {
  41. List<string> uniqueCards = players.Value;
  42.  
  43. uniqueCards = uniqueCards.Distinct().ToList();
  44.  
  45. int result = 0;
  46.  
  47. List<int> results = new List<int>();
  48.  
  49. foreach (var item in uniqueCards)
  50. {
  51. string power = item.Substring(0, item.Length - 1).ToString();
  52. string type = item.Last().ToString();
  53.  
  54. switch (power)
  55. {
  56. case "J":
  57. power = "11";
  58. break;
  59.  
  60. case "Q":
  61. power = "12";
  62. break;
  63.  
  64. case "K":
  65. power = "13";
  66. break;
  67.  
  68. case "A":
  69. power = "14";
  70. break;
  71.  
  72. default:
  73. break;
  74. }
  75.  
  76. switch (type)
  77. {
  78. case "S":
  79. type = "4";
  80. break;
  81.  
  82. case "H":
  83. type = "3";
  84. break;
  85.  
  86. case "D":
  87. type = "2";
  88. break;
  89.  
  90. case "C":
  91. type = "1";
  92. break;
  93.  
  94. default:
  95. break;
  96. }
  97.  
  98. result = int.Parse(power) * int.Parse(type);
  99. results.Add(result);
  100. }
  101. results.Distinct().ToList();
  102. Console.WriteLine($"{players.Key}: {string.Join(" ", results.Sum())}");
  103. }
  104. }
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement