Advertisement
nikolayneykov

Untitled

May 27th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve (arr, num) {
  2.   if (arr.length === 0) {
  3.     throw new Error()
  4.   }
  5.   let [damagePerHit, stopNumber, rounds] = [
  6.     Math.min(...arr),
  7.     Math.max(...arr),
  8.     1
  9.   ]
  10.  
  11.   let products = arr
  12.     .slice(0, arr.length / num)
  13.     .reduce((acc, el, i) => {
  14.       acc.push(arr.splice(0, num))
  15.       return acc
  16.     }, [])
  17.     .map(x => x.reduce((acc, el) => acc * el, 1))
  18.  
  19.   let [firstGiant, secondGiant] = [
  20.     products.slice(0, products.length / 2).reduce((acc, el) => acc + el, 0),
  21.     products.slice(products.length / 2).reduce((acc, el) => acc + el, 0)
  22.   ]
  23.  
  24.   if (damagePerHit !== 0) {
  25.     while (firstGiant > stopNumber && secondGiant > stopNumber) {
  26.       firstGiant -= damagePerHit
  27.       secondGiant -= damagePerHit
  28.       rounds++
  29.     }
  30.   }
  31.  
  32.   console.log(
  33.     firstGiant === secondGiant
  34.       ? `Its a draw ${firstGiant} - ${secondGiant}`
  35.       : firstGiant > secondGiant
  36.         ? `First Giant defeated Second Giant with result ${firstGiant} - ${secondGiant} in ${rounds} rounds`
  37.         : `Second Giant defeated First Giant with result ${secondGiant} - ${firstGiant} in ${rounds} rounds`
  38.   )
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement