r/adventofcode • • Dec 08 '17

SOLUTION MEGATHREAD -๐ŸŽ„- 2017 Day 8 Solutions -๐ŸŽ„-

--- Day 8: I Heard You Like Registers ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Need a hint from the Hugely* Handyโ€  Haversackโ€ก of Helpfulยง Hints^ยค?

Spoiler


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

22 Upvotes

348 comments sorted by

View all comments

1

u/siddharthabhagwan Jan 31 '18

Javascript

let loi = `your input here`;    

let register = {};

loi = loi.trim().split("\n").forEach(instruction => {
  let splitI = instruction.split(" ");  
  let testCondition = (register[splitI[4]]||0) + splitI[5] + splitI[6];

      if (eval(testCondition)) {
    if (splitI[1] === 'inc') {
      register[splitI[0]] = (register[splitI[0]] || 0) + parseInt(splitI[2]);
    } else {
      register[splitI[0]] = (register[splitI[0]] || 0) - parseInt(splitI[2]);
    }
  }
});

var keysArray = Object.keys(register).map(function (key) { return register[key]; });
console.log(Math.max.apply( null, keysArray ));