Advertisement
ErolKZ

Untitled

Nov 9th, 2021
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1.  
  2. function solve (arr) {
  3.  
  4.  
  5. // J, Q, K, A
  6.  
  7. // (S -> 4, H-> 3, D -> 2, C -> 1).
  8.  
  9. let obj = {
  10.  
  11. C : 1,
  12.  
  13. D : 2,
  14.  
  15. H : 3,
  16.  
  17. S : 4,
  18.  
  19. J : 11,
  20.  
  21. Q : 12,
  22.  
  23. K : 13,
  24.  
  25. A : 14,
  26.  
  27. };
  28.  
  29.  
  30. let value = 0;
  31.  
  32. let players = {};
  33.  
  34. let cardHolder = {};
  35.  
  36.  
  37. for (let el of arr) {
  38.  
  39. let cur = el.split(': ');
  40.  
  41. let cards = cur[1].split(', ');
  42.  
  43. if (!players.hasOwnProperty(cur[0])) {
  44.  
  45. players[cur[0]] = [];
  46.  
  47. }
  48.  
  49.  
  50. for (let card of cards) {
  51.  
  52.  
  53. if (!cardHolder.hasOwnProperty(cur[0])) {
  54.  
  55. cardHolder[cur[0]] = [];
  56.  
  57. cardHolder[cur[0]].push(card);
  58.  
  59.  
  60. } else {
  61.  
  62. if (cardHolder[cur[0]].includes(card)) {
  63.  
  64. continue;
  65.  
  66. }
  67.  
  68. cardHolder[cur[0]].push(card);
  69.  
  70. }
  71.  
  72.  
  73.  
  74. let divCards = card.split(/([0-9]+)/);
  75.  
  76. divCards = divCards.filter(el => el !== '' ? el : false);
  77.  
  78. divCards = divCards.map(el => divCards.length === 1 ? el.split('') : el);
  79.  
  80. divCards = divCards.flat();
  81.  
  82. divCards = divCards.map(card2 => {
  83.  
  84. for (let key in obj) {
  85.  
  86. if (card2 === key) {
  87.  
  88. card2 = obj[key];
  89.  
  90. return card2;
  91.  
  92. }
  93.  
  94. }
  95.  
  96.  
  97. return parseInt(card2);
  98.  
  99. });
  100.  
  101.  
  102. // console.log(divCards);
  103.  
  104. value += divCards[0] * divCards[1];
  105.  
  106. }
  107.  
  108. players[cur[0]].push(value);
  109.  
  110. value = 0;
  111.  
  112. // console.log(cardHolder);
  113.  
  114.  
  115. }
  116.  
  117. // console.log(players);
  118.  
  119. for (let key in players) {
  120.  
  121. players[key] = players[key].reduce((acc, el) => acc + el);
  122.  
  123. }
  124.  
  125.  
  126. for (let key in players) {
  127.  
  128. console.log(`${key}: ${players[key]}`);
  129.  
  130. }
  131.  
  132. // console.log(players);
  133.  
  134.  
  135. // Peter: 167
  136.  
  137. // Tomas: 175
  138.  
  139. // Andrea: 197
  140.  
  141.  
  142. }
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement