Advertisement
YavorJS

Hands of Cards - 66%

Oct 8th, 2016
469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 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.  
  8. class Hands_of_cards
  9. {
  10. static void Main()
  11. {
  12. Dictionary<string, List<string>> hands = new Dictionary<string, List<string>>();
  13.  
  14. string person = "";
  15.  
  16. while (true)
  17. {
  18. char[] delimiters = new char[] { ' ', ',' };
  19. List<string> input = Console.ReadLine().Split(delimiters,StringSplitOptions.RemoveEmptyEntries).ToList();
  20. person = input[0];
  21. if (person == "JOKER") break;
  22.  
  23. List<string> cards = new List<string>();
  24. for (int i = 1; i < input.Count; i++) cards.Add( input[i]);
  25. if (!hands.ContainsKey(person))
  26. {
  27. hands[person] = cards;
  28. }
  29. else
  30. {
  31. hands[person].AddRange(cards);
  32. }
  33.  
  34. }// end of while
  35.  
  36. printResult(hands);
  37.  
  38. }
  39.  
  40. private static void printResult(Dictionary<string, List<string>> hands)
  41. {
  42. foreach (var hand in hands)
  43. {
  44. string person = hand.Key;
  45. List<string> personHands = hand.Value.Distinct().ToList();
  46. int power = 0;
  47. int type = 0;
  48. int value = 0;
  49. for (int i = 0; i < personHands.Count; i++)
  50. {
  51. string card = personHands[i];
  52. string cardPower = card.Substring(0, card.Length - 1);
  53. char cardType = card[card.Length-1];
  54. power = findThePower(cardPower);
  55. type = findTheType(cardType);
  56. value += power * type;
  57. }
  58. Console.WriteLine(person+ " "+value);
  59. }
  60. }
  61.  
  62.  
  63.  
  64. private static int findTheType(char v)
  65. {
  66. int type = 0;
  67. switch (v)
  68. {
  69. case 'S':
  70. type = 4;
  71. break;
  72. case 'H':
  73. type = 3;
  74. break;
  75. case 'D':
  76. type = 2;
  77. break;
  78. case 'C':
  79. type = 1;
  80. break;
  81. default:
  82. break;
  83. }
  84. return type;
  85. }
  86.  
  87. private static int findThePower(string v)
  88. {
  89. int cardPower = 0;
  90. switch (v)
  91. {
  92. case "1":
  93. cardPower = 1;
  94. break;
  95. case "2":
  96. cardPower = 2;
  97. break;
  98. case "3":
  99. cardPower = 3;
  100. break;
  101. case "4":
  102. cardPower = 4;
  103. break;
  104. case "5":
  105. cardPower = 5;
  106. break;
  107. case "6":
  108. cardPower = 6;
  109. break;
  110. case "7":
  111. cardPower = 7;
  112. break;
  113. case "8":
  114. cardPower = 8;
  115. break;
  116. case "9":
  117. cardPower = 9;
  118. break;
  119. case "10":
  120. cardPower = 10;
  121. break;
  122. case "J":
  123. cardPower = 11;
  124. break;
  125. case "Q":
  126. cardPower = 12;
  127. break;
  128. case "K":
  129. cardPower = 13;
  130. break;
  131. case "A":
  132. cardPower = 14;
  133. break;
  134. default:
  135. break;
  136. }
  137. return cardPower;
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement