Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.  
  3.     input = input.toLowerCase();
  4.     input = input.split(' ');
  5.  
  6.  
  7.     let obj = {};
  8.     for (let i = 0; i < input.length; i += 2) {
  9.         let quantity = input[i];
  10.         let item = input[i + 1];
  11.         quantity = Number(quantity);
  12.  
  13.         if (!obj.hasOwnProperty(item)) {
  14.             obj[item] = quantity;
  15.             checker(obj)
  16.             if (checker()) {
  17.                 break;
  18.             }
  19.         } else {
  20.             if (item === 'motes' || item === 'shards' || item === 'fragments') {
  21.                 obj[item] += quantity;
  22.                 checker(obj)
  23.                 if (checker()) {
  24.                     break;
  25.                 }
  26.             }
  27.         }
  28.     }
  29.  
  30.     for (const key of Object.keys(obj)) {
  31.         if (key === 'motes') {
  32.             if (obj[key] >= 250) {
  33.                 let leftOver = obj[key] - 250;
  34.                 obj[key] = leftOver;
  35.                 console.log('Dragonwrath obtained!');
  36.             }
  37.         } if (key === 'shards') {
  38.             if (obj[key] >= 250) {
  39.                 let leftOver = obj[key] - 250;
  40.                 obj[key] = leftOver;
  41.                 console.log('Shadowmourne obtained!');
  42.             }
  43.         } if (key === 'fragments') {
  44.             if (obj[key] >= 250) {
  45.                 let leftOver = obj[key] - 250;
  46.                 obj[key] = leftOver;
  47.                 console.log('Valanyr obtained!');
  48.             }
  49.         }
  50.     }
  51.  
  52.     let keyEls = {};
  53.     let junk = {};
  54.     for (const key of Object.keys(obj)) {
  55.  
  56.         if (key === 'shards' || key === 'fragments' || key === 'motes') {
  57.             keyEls[key] = obj[key];
  58.         } else {
  59.             junk[key] = obj[key]
  60.         }
  61.     }
  62.  
  63.     let keys = Object.keys(keyEls);
  64.  
  65.     if (!keys.includes('fragments')) {
  66.         keyEls['fragments'] = 0
  67.     } if (!keys.includes('shards')) {
  68.         keyEls['shards'] = 0
  69.     } if (!keys.includes('motes')) {
  70.         keyEls['motes'] = 0
  71.     }
  72.  
  73.     let sorted = Object.entries(keyEls);
  74.     let junks = Object.entries(junk);
  75.  
  76.  
  77.     sorted.sort(function (a, b) {
  78.         if (b[0][1] < a[0][1]) { return -1; }
  79.         if (b[0][1] > a[0][1]) { return 1; }
  80.         return 0;
  81.     })
  82.     sorted.sort((a, b) => b[1] - a[1]);
  83.  
  84.     for (const item of sorted) {
  85.         console.log(`${item[0]}: ${item[1]}`);
  86.  
  87.     }
  88.  
  89.  
  90.     junks = junks.sort((a, b) => a[0].localeCompare(b[0]));
  91.     for (const item of junks) {
  92.         console.log(`${item[0]}: ${item[1]}`);
  93.     }
  94.     function checker() {
  95.         for (const val of Object.values(obj)) {
  96.             if (val > 250) {
  97.                 return true;
  98.             }
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement