JSFiddle - React, Tailwind, and code Playground

kattis problem #1, dice scoring

by Yurii Predborskyi

JavaScript

// input: start finish start finish
// output: Emma Tie Gunnar

let tests = [
	{ gunnar: '1 4 1 4', emma: '1 6 1 6', answer: 'Emma' },
  { gunnar: '1 8 1 8', emma: '1 10 2 5', answer: 'Gunnar' },
  { gunnar: '2 5 2 7', emma: '1 5 2 5', answer: 'Gunnar' },
];


tests.forEach(test => {
  function scoreDice(min, max) {
    let sides = max - min + 1;
    let sum = 0;
    for (let i = min; i <= max; ++i) {
      sum += i;
    }
    return sum / sides;
  }
	function toArr(input) {
  	return input.split(' ').map(item => Number.parseInt(item));
  }
  
	let gunnarDice = toArr(test.gunnar);
  let gunnarScore = scoreDice(gunnarDice[0], gunnarDice[1]) + scoreDice(gunnarDice[2], gunnarDice[3]);
  let emmaDice = toArr(test.emma);
  let emmaScore = scoreDice(emmaDice[0], emmaDice[1]) + scoreDice(emmaDice[2], emmaDice[3]);
  if (gunnarScore > emmaScore) {
  	console.log('Gunnar');
  } else if (emmaScore > gunnarScore) {
  	console.log('Emma');
  } else {
  	console.log('Tie');
  }
});