Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace _05.Hands_of_Cards
- {
- public class Program
- {
- public static void Main()
- {
- var input = Console.ReadLine().Split(':').Distinct().ToList();
- var playerAndHisCards = new Dictionary<string, HashSet<string>>();
- while (input[0] != "JOKER")
- {
- var playersCards = input[1].Trim().Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
- var player = input[0];
- foreach (var card in playersCards)
- {
- playerAndHisCards[player].Add(card);
- }
- input = Console.ReadLine().Split(':').Distinct().ToList();
- }
- foreach (var player in playerAndHisCards.Keys)
- {
- var uniqueCurrentPlayerCards = playerAndHisCards[player];
- var sum = 0;
- foreach (var card in uniqueCurrentPlayerCards)
- {
- sum += ReturnSumOfCards(card);
- }
- Console.WriteLine($"{player}: {sum}");
- }
- }
- public static char TypeOfCards(string card)
- {
- var points = card.ToCharArray();
- return points[points.Length - 1];
- }
- public static int ValueOfType(string type)
- {
- switch (TypeOfCards(type))
- {
- case 'S': return 4;
- case 'H': return 3;
- case 'D': return 2;
- case 'C': return 1;
- }
- return 1;
- }
- public static int ValueOfCard(string card)
- {
- var cards = card;
- var number = cards.ToCharArray();
- string value = string.Empty;
- for (int i = 0; i < card.Length - 1; i++)
- {
- value += card[i];
- }
- switch (value)
- {
- case "J": return 11;
- case "Q": return 12;
- case "K": return 13;
- case "A": return 14;
- default: return int.Parse(value);
- }
- }
- public static int ReturnSumOfCards(string card)
- {
- var sum = ValueOfType(card) * ValueOfCard(card);
- return sum;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement