Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- input = input.toLowerCase();
- input = input.split(' ');
- let obj = {};
- for (let i = 0; i < input.length; i += 2) {
- let quantity = input[i];
- let item = input[i + 1];
- quantity = Number(quantity);
- if (!obj.hasOwnProperty(item)) {
- obj[item] = quantity;
- checker(obj)
- if (checker()) {
- break;
- }
- } else {
- if (item === 'motes' || item === 'shards' || item === 'fragments') {
- obj[item] += quantity;
- checker(obj)
- if (checker()) {
- break;
- }
- }
- }
- }
- for (const key of Object.keys(obj)) {
- if (key === 'motes') {
- if (obj[key] >= 250) {
- let leftOver = obj[key] - 250;
- obj[key] = leftOver;
- console.log('Dragonwrath obtained!');
- }
- } if (key === 'shards') {
- if (obj[key] >= 250) {
- let leftOver = obj[key] - 250;
- obj[key] = leftOver;
- console.log('Shadowmourne obtained!');
- }
- } if (key === 'fragments') {
- if (obj[key] >= 250) {
- let leftOver = obj[key] - 250;
- obj[key] = leftOver;
- console.log('Valanyr obtained!');
- }
- }
- }
- let keyEls = {};
- let junk = {};
- for (const key of Object.keys(obj)) {
- if (key === 'shards' || key === 'fragments' || key === 'motes') {
- keyEls[key] = obj[key];
- } else {
- junk[key] = obj[key]
- }
- }
- let keys = Object.keys(keyEls);
- if (!keys.includes('fragments')) {
- keyEls['fragments'] = 0
- } if (!keys.includes('shards')) {
- keyEls['shards'] = 0
- } if (!keys.includes('motes')) {
- keyEls['motes'] = 0
- }
- let sorted = Object.entries(keyEls);
- let junks = Object.entries(junk);
- sorted.sort(function (a, b) {
- if (b[0][1] < a[0][1]) { return -1; }
- if (b[0][1] > a[0][1]) { return 1; }
- return 0;
- })
- sorted.sort((a, b) => b[1] - a[1]);
- for (const item of sorted) {
- console.log(`${item[0]}: ${item[1]}`);
- }
- junks = junks.sort((a, b) => a[0].localeCompare(b[0]));
- for (const item of junks) {
- console.log(`${item[0]}: ${item[1]}`);
- }
- function checker() {
- for (const val of Object.values(obj)) {
- if (val > 250) {
- return true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment