Advertisement
Guest User

Legendary Farming

a guest
Oct 17th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let arr = input.split(' ');
  3.     let materials = {};
  4.     let keyMaterials = {
  5.         shards: 0,
  6.         fragments: 0,
  7.         motes: 0
  8.     };
  9.     let winner = '';
  10.     for (let i = 0; i <= arr.length - 1; i += 2) {
  11.         let quantity = Number(arr[i]);
  12.         let material = arr[i + 1].toLowerCase();
  13.         if (material === 'shards' || material === 'fragments' || material === 'motes') {
  14.             keyMaterials[material] += quantity;
  15.             if (keyMaterials[material] >= 250 && material === 'shards') {
  16.                 winner = 'Shadowmourne';
  17.                 keyMaterials[material] -= 250;
  18.                 break;
  19.             } else if (
  20.                 keyMaterials[material] >= 250 &&
  21.                 material === 'fragments'
  22.             ) {
  23.                 winner = 'Valanyr';
  24.                 keyMaterials[material] -= 250;
  25.                 break;
  26.             } else if (keyMaterials[material] >= 250 && material === 'motes') {
  27.                 winner = 'Dragonwrath';
  28.                 keyMaterials[material] -= 250;
  29.                 break;
  30.             }
  31.         } else {
  32.             if (!materials.hasOwnProperty(material)) {
  33.                 materials[material] = 0;
  34.             }
  35.             materials[material] += quantity;
  36.         }
  37.     }
  38.     console.log(`${winner} obtained!`);
  39.  
  40.     let sortedkeyMaterials = Object.entries(keyMaterials);
  41.  
  42.     sortedkeyMaterials.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]));
  43.  
  44.     let sortedMaterials = Object.entries(materials);
  45.  
  46.     sortedMaterials.sort((a, b) => a[0].localeCompare(b[0]));
  47.  
  48.     for (let [material, quantity] of sortedkeyMaterials) {
  49.         console.log(`${material}: ${quantity}`);
  50.     }
  51.     for (let [material, quantity] of sortedMaterials) {
  52.         console.log(`${material}: ${quantity}`);
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement