2018 d8 p2
This commit is contained in:
parent
4be5463237
commit
91610024c9
24
2018/8/part2.js
Normal file
24
2018/8/part2.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const input = fs.readFileSync('input.txt', 'utf-8').split('\n')[0].split(' ').map(Number);
|
||||||
|
|
||||||
|
function parse(arr) {
|
||||||
|
if (arr[0] == 0) {
|
||||||
|
return ([2 + arr[1], arr.slice(2, 2 + arr[1]).reduce((a, b) => a + b)]);
|
||||||
|
}
|
||||||
|
let children = [];
|
||||||
|
let pointer = 2;
|
||||||
|
for (let i = 0; i < arr[0]; i++) {
|
||||||
|
let child = parse(arr.slice(pointer, arr.length));
|
||||||
|
pointer += child[0];
|
||||||
|
children.push(child[1]);
|
||||||
|
}
|
||||||
|
let meta = 0;
|
||||||
|
let indexes = arr.slice(pointer, pointer + arr[1])
|
||||||
|
for (let i of indexes) {
|
||||||
|
meta += children[i - 1] || 0;
|
||||||
|
}
|
||||||
|
return [pointer + arr[1], meta];
|
||||||
|
}
|
||||||
|
|
||||||
|
let v = parse(input)[1];
|
||||||
|
console.log(v);
|
|
@ -6,7 +6,8 @@
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/5 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/5 "see puzzle")
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/6 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/6 "see puzzle")
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/7 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/7 "see puzzle")
|
||||||
1. [js :star:](https://adventofcode.com/2015/day/8 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/8 "see puzzle")
|
||||||
|
1. [js :star: :star:](https://adventofcode.com/2015/day/9 "see puzzle")
|
||||||
|
|
||||||
# Languages Used
|
# Languages Used
|
||||||
### Python
|
### Python
|
||||||
|
@ -23,4 +24,5 @@
|
||||||
1. [:star: :star:](https://adventofcode.com/2018/day/5 "see puzzle")
|
1. [:star: :star:](https://adventofcode.com/2018/day/5 "see puzzle")
|
||||||
1. [:star: :star:](https://adventofcode.com/2018/day/6 "see puzzle")
|
1. [:star: :star:](https://adventofcode.com/2018/day/6 "see puzzle")
|
||||||
1. [:star: :star:](https://adventofcode.com/2018/day/7 "see puzzle")
|
1. [:star: :star:](https://adventofcode.com/2018/day/7 "see puzzle")
|
||||||
1. [:star:](https://adventofcode.com/2018/day/8 "see puzzle")
|
1. [:star: :star:](https://adventofcode.com/2018/day/8 "see puzzle")
|
||||||
|
1. [:star: :star:](https://adventofcode.com/2018/day/9 "see puzzle")
|
||||||
|
|
|
@ -24,8 +24,9 @@ if (advent) {
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/5 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/5 "see puzzle")
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/6 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/6 "see puzzle")
|
||||||
1. [js :star: :star:](https://adventofcode.com/2015/day/7 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/7 "see puzzle")
|
||||||
1. [js :star:](https://adventofcode.com/2015/day/8 "see puzzle")
|
1. [js :star: :star:](https://adventofcode.com/2015/day/8 "see puzzle")
|
||||||
|
1. [js :star: :star:](https://adventofcode.com/2015/day/9 "see puzzle")
|
||||||
|
|
||||||
## Languages Used
|
## Languages Used
|
||||||
* Python 8×:star:
|
* Python
|
||||||
* Node JS 14×:star:
|
* Node JS
|
Loading…
Reference in a new issue