Advertisement
nikolayneykov

Untitled

Mar 14th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(arr) {
  2.     let list = []
  3.     let powerMap = []
  4.     powerMap["S"] = 4;
  5.     powerMap["H"] = 3;
  6.     powerMap["D"] = 2;
  7.     powerMap["C"] = 1;
  8.  
  9.     let cardsOfPlayers = new Map()
  10.     for (let ar of arr) {
  11.         let name = ar.split(": ")[0]
  12.         let currentCards = ar.split(": ")[1]
  13.         currentCards = currentCards.split(", ")
  14.  
  15.         if (!cardsOfPlayers.has(name)) {        //ако нямаме името на човека в мапа
  16.             cardsOfPlayers.set(name, new Set());//го добавяме и за стойност му слагаме Сет в който ще държим картите
  17.         }
  18.  
  19.         currentCards.forEach(card => cardsOfPlayers.get(name).add(card)); //добавяме карти в Сета
  20.  
  21.     }
  22.  
  23.     for (let [player, cards] of cardsOfPlayers) {
  24.         let sum = 0;
  25.  
  26.         for (let card of cards) {
  27.             let currentCard = card.slice(0, card.length - 1);
  28.             let powerOfCard = card[card.length - 1];
  29.  
  30.             if (+currentCard >= 2 && +currentCard <= 10) {
  31.                 sum += +currentCard * powerMap[powerOfCard]
  32.             } else if (currentCard === "J") {
  33.                 sum += 11 * powerMap[powerOfCard]
  34.             } else if (currentCard === "Q") {
  35.                 sum += 12 * powerMap[powerOfCard]
  36.             } else if (currentCard === "K") {
  37.                 sum += 13 * powerMap[powerOfCard]
  38.             } else if (currentCard === "A") {
  39.                 sum += 14 * powerMap[powerOfCard]
  40.             }
  41.         }
  42.  
  43.         cardsOfPlayers.set(player, sum);    //след като сме изчислили сумата сменяме сета на играча със самата сума
  44.     }
  45.  
  46.     for (let [name, value] of cardsOfPlayers) {
  47.         console.log(`${name}: ${value}`)
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement