day 3
This commit is contained in:
parent
44376bf893
commit
ba3a7d27a0
323
day_3/input.txt
Normal file
323
day_3/input.txt
Normal file
|
@ -0,0 +1,323 @@
|
||||||
|
........#..#.##.#..............
|
||||||
|
...#...............#.#.........
|
||||||
|
...#..#...#..##....#...........
|
||||||
|
...#.............#....#.....#..
|
||||||
|
..#......#..#...#.......#......
|
||||||
|
..............##...............
|
||||||
|
#.......#.........#......#....#
|
||||||
|
.#.....###.....#...#.#.#...#...
|
||||||
|
#.....................#....#.#.
|
||||||
|
.......#...................#...
|
||||||
|
...#.#...................#....#
|
||||||
|
....#....#.......#...#.........
|
||||||
|
..##.#............#..#.........
|
||||||
|
.....##.#..............##..###.
|
||||||
|
...........#....#....#.........
|
||||||
|
#.....#...#...#.#.#.#.##.#...#.
|
||||||
|
.#...............#....##.......
|
||||||
|
.....#..#......#....#.......##.
|
||||||
|
.....#........#.......#........
|
||||||
|
...#...##...#..##...#.....##...
|
||||||
|
.....#.........#.###...##...#..
|
||||||
|
.#.##...#........#.#.#.#....#..
|
||||||
|
....#......##.#...#.....#....#.
|
||||||
|
.......###..........#..#..#....
|
||||||
|
......#...#.##.................
|
||||||
|
....#...#...#.........#......#.
|
||||||
|
.....#...........#...###....#..
|
||||||
|
.....#...#.#.#....##.#......#.#
|
||||||
|
......#...#.....#..#..#........
|
||||||
|
#......#..#...##........###....
|
||||||
|
##.....#....##..#.#.###.#...#..
|
||||||
|
........#....#.......#.....#..#
|
||||||
|
#.#.#.##.#.#...................
|
||||||
|
..#...##....#......#.....##....
|
||||||
|
.......#.##..#........##..#....
|
||||||
|
.#.#....##......#.#..........#.
|
||||||
|
#..............#............#..
|
||||||
|
.#.#.#.#.#.####.#.#...##.......
|
||||||
|
.#..#.....##.#.......#.##...#..
|
||||||
|
..#.#........#.............#.#.
|
||||||
|
..#.#..........#..#........#...
|
||||||
|
..#..#...#.......##...#.#....##
|
||||||
|
...#.....#.#.#.....#....#....#.
|
||||||
|
.#...#......#.....#..##........
|
||||||
|
...#.......##.#.#.....#......#.
|
||||||
|
...........#.....#.#.......#...
|
||||||
|
#...........#...#..#.#........#
|
||||||
|
....#......#..##........#..###.
|
||||||
|
.#..#........................#.
|
||||||
|
#.......#......#...#...#..#....
|
||||||
|
....#.#...#..#.#....#....##.#..
|
||||||
|
.....#......#..#..........##.#.
|
||||||
|
.#.....#...........#.........#.
|
||||||
|
...###.#...#.......#.#.........
|
||||||
|
.......#....#..........#..#...#
|
||||||
|
......##..#.......#...##.......
|
||||||
|
..#..........#.......#.........
|
||||||
|
..........#..#..#..#..#........
|
||||||
|
.#.................####...#.#.#
|
||||||
|
..##.....#............#........
|
||||||
|
....#.....###...#......#....#.#
|
||||||
|
...##.#...........#.##......#..
|
||||||
|
#..##..#..#....#...#..#........
|
||||||
|
......#....#........#.......#..
|
||||||
|
......#.....#......###.........
|
||||||
|
.#.....#.#......#.......#......
|
||||||
|
..#.........#..#..#........##.#
|
||||||
|
..#.#....#.....#....##....#.#..
|
||||||
|
...#.............##............
|
||||||
|
........#..#..#......#...#.....
|
||||||
|
.....#.#...#...##.....#.....#..
|
||||||
|
.#..#.#..........##...##.....#.
|
||||||
|
......##.#..........#...#.....#
|
||||||
|
#.#.##......#....#..........#..
|
||||||
|
................#.......#.##...
|
||||||
|
#.......#.....#.......#....#...
|
||||||
|
#..#.....#.##..##...........#..
|
||||||
|
.....#....#.#.##..........#..##
|
||||||
|
#.......#.....#.##...........#.
|
||||||
|
........#.##........###..#.#...
|
||||||
|
........#..................#...
|
||||||
|
#.........................#...#
|
||||||
|
....#.........#...#.#..#.....#.
|
||||||
|
.#............#....#...........
|
||||||
|
..#.#...#..##...#.#.......#....
|
||||||
|
.#.#....#...........#.........#
|
||||||
|
...#.#..........#.....#...#....
|
||||||
|
......#....#.#...............##
|
||||||
|
....##......###...##.##.....##.
|
||||||
|
............#.#....#.#.....#..#
|
||||||
|
.....#..#.....#.#...###....#...
|
||||||
|
.......##....##..#...##..#...##
|
||||||
|
.....#.......##..#...#...#....#
|
||||||
|
#.........##....#........###.#.
|
||||||
|
...#..##...#...#.........#.#.#.
|
||||||
|
....#.#.....#.....#............
|
||||||
|
#........#....#..#........#....
|
||||||
|
.......#....#...#..............
|
||||||
|
#...#.........##.....###.#.....
|
||||||
|
.#....##..#...#..##.........#..
|
||||||
|
....#.....#......##..#..#....#.
|
||||||
|
#.#..#.........#........#......
|
||||||
|
..#.......#.........#.....###..
|
||||||
|
..#..........#...........#....#
|
||||||
|
..#...............#......#..#..
|
||||||
|
....#..#...#....###.....#..#..#
|
||||||
|
#...#...#..#...........#....#..
|
||||||
|
.#....#.#..#....#.#...........#
|
||||||
|
.....#.....#..#....#..#....#...
|
||||||
|
#.#..#...........#.#...........
|
||||||
|
..................#.#.......#..
|
||||||
|
...#.........#.....#..##....#..
|
||||||
|
.........#.#...#.........##....
|
||||||
|
...#..#....#.....#...#..#......
|
||||||
|
.#.##.....#....#....#......##..
|
||||||
|
##..#.........#.#....#...#.....
|
||||||
|
#......#.#...#....#.#..#.......
|
||||||
|
.......#.....#.....###....#.#..
|
||||||
|
.#....##.#.....#...#.......#...
|
||||||
|
.#.......#..#...#......#..#..##
|
||||||
|
...............#...#...........
|
||||||
|
#..............#....#.#.#....#.
|
||||||
|
...........#..#.......#.##..#..
|
||||||
|
..#......#.#....#...#.#.....#..
|
||||||
|
#..............................
|
||||||
|
#..#....#..........#...#.......
|
||||||
|
......#.............#####......
|
||||||
|
.#...###......#.#.#.##..#......
|
||||||
|
............#.##.....#.........
|
||||||
|
.........#....##....#..........
|
||||||
|
###....#......#.......#........
|
||||||
|
.#.......##..........#..#....#.
|
||||||
|
#..#.....................#....#
|
||||||
|
........#...........#..........
|
||||||
|
..#..........#...#..#.........#
|
||||||
|
..#..#......##................#
|
||||||
|
.....##..#...#..#..............
|
||||||
|
.......#...##..#...............
|
||||||
|
.......##..#.####....#....#.#..
|
||||||
|
#.#..#..........#........##....
|
||||||
|
....##....#.#..#....#.#...#....
|
||||||
|
......#.......#...#.....#...#..
|
||||||
|
..#..#...#.....#.......###.....
|
||||||
|
...#.......#.#.#.......#.##....
|
||||||
|
...............#..#.#........#.
|
||||||
|
.#....###.#......#.............
|
||||||
|
.#..#...#....#.#..#.....#......
|
||||||
|
.......#.##....#.#.##.##...#.#.
|
||||||
|
..#...#....#.#..##.#.....#...##
|
||||||
|
..#...#......#...#......#...#..
|
||||||
|
....#..#...#.#..#......#.......
|
||||||
|
#..#...............#......#.##.
|
||||||
|
.#....#...#..........#.#.....#.
|
||||||
|
.#..#.#.#................#..#..
|
||||||
|
.#....#.#...#..##.###..#...###.
|
||||||
|
#.............#.....#.........#
|
||||||
|
...#.........#...#.......#..#..
|
||||||
|
......#..#.........#..........#
|
||||||
|
........##................#..#.
|
||||||
|
......#...#.#.....#......##....
|
||||||
|
...............#...#....#......
|
||||||
|
...#.#..#..#.....##.###..##..#.
|
||||||
|
.#....##......#...#..##..#.....
|
||||||
|
.....#.........##.##....#...#..
|
||||||
|
.....#.#..................####.
|
||||||
|
#.....#...#.............##....#
|
||||||
|
#.#..........#...#..#..#.......
|
||||||
|
#..#.#.........#...............
|
||||||
|
....#...#.........#...##.......
|
||||||
|
...........#.....#..##..#......
|
||||||
|
#.....#.......#.#........#.....
|
||||||
|
..##..#.....#...##......#......
|
||||||
|
....#....#.....................
|
||||||
|
............#......#.........##
|
||||||
|
.....##.............#.....##..#
|
||||||
|
.......#.............#..#.#.##.
|
||||||
|
.###...#......#..#........##.#.
|
||||||
|
..#.#...#.#....#.....#..#......
|
||||||
|
..#.#..#.##........#...#.......
|
||||||
|
........#.#...............#..#.
|
||||||
|
........##.......#...#.......#.
|
||||||
|
...#........##.#..........#.#.#
|
||||||
|
..#..###.#.#.......#.#......#..
|
||||||
|
....#..........#...#..#........
|
||||||
|
...#..#...#...#.#....#...#..#..
|
||||||
|
...#...#........#......##...#.#
|
||||||
|
#...........#..........#..#.##.
|
||||||
|
...#..##..................#.#..
|
||||||
|
...##.#...#....#.#...#.####....
|
||||||
|
.....#...#.#.#..#..............
|
||||||
|
.....#..#.#.#..#...............
|
||||||
|
..#..#..##...#.#..#.....##....#
|
||||||
|
.......#.#..#.....#....#.......
|
||||||
|
...#..#....#.........#...#.....
|
||||||
|
..............#.#...#...##.....
|
||||||
|
...................#...........
|
||||||
|
.#......#.#...................#
|
||||||
|
.##.....#........#.........#..#
|
||||||
|
.##..##...#...................#
|
||||||
|
...#....#.#..#.#.#..#.....##...
|
||||||
|
.......#..#....#......####.#...
|
||||||
|
.##..#..##....#.......#........
|
||||||
|
.#...#...........##............
|
||||||
|
.....#.....#........#..........
|
||||||
|
....##..#....#.....#...........
|
||||||
|
.#...#....................#....
|
||||||
|
....#.........#.......##.....#.
|
||||||
|
.#....#..#.....#.##....#.......
|
||||||
|
....#..#.........#.#....#.#....
|
||||||
|
.......#.........##....#.......
|
||||||
|
..#......#....#....#...#.......
|
||||||
|
........#..#.......#.##......#.
|
||||||
|
..#.....#......#...#..#.......#
|
||||||
|
#..#.....##...#...#............
|
||||||
|
.......##.......#........#...#.
|
||||||
|
..#......................#...#.
|
||||||
|
....##.#.............#......#..
|
||||||
|
#.#............................
|
||||||
|
...##.#.....#.#............#.##
|
||||||
|
......#...#..#.........##......
|
||||||
|
.#.......#.....##.......#.#....
|
||||||
|
...........#.#.........#..##...
|
||||||
|
...#..........#.##....#........
|
||||||
|
........#..#..#...#....#....#..
|
||||||
|
........##....#.#....#........#
|
||||||
|
..#........##....###....#......
|
||||||
|
#................###...#...#...
|
||||||
|
................#.#..###......#
|
||||||
|
..#.....##.#................#..
|
||||||
|
.....#...............#..#......
|
||||||
|
..#.......####.....#..#.#....##
|
||||||
|
..#.....#..#....#..............
|
||||||
|
#.#...........#.#.....#..##....
|
||||||
|
#.#..........#.......#...#.###.
|
||||||
|
........#....#...#..#.#........
|
||||||
|
.#.....#......#..#..#..###..#..
|
||||||
|
.#.........#.##.#.#......##....
|
||||||
|
..#.........#...##..#........#.
|
||||||
|
.#...................#.........
|
||||||
|
...#.#........#................
|
||||||
|
............#.....#..##........
|
||||||
|
..#.....#.#......#.......#...#.
|
||||||
|
........#....##..##...#.....##.
|
||||||
|
.#........#.#....#.#....#.#..#.
|
||||||
|
#.#.......#....................
|
||||||
|
.#..#...##.........#..#........
|
||||||
|
.........#...............#.....
|
||||||
|
...#...#.....#......#.......#..
|
||||||
|
###......................#.#..#
|
||||||
|
...#.....####........#..#.....#
|
||||||
|
#.#...#.#...................##.
|
||||||
|
.........#.....................
|
||||||
|
#..........##..#.....#....#....
|
||||||
|
.......#...#.#.##.#..##........
|
||||||
|
..........#..#.#..#.#.......#.#
|
||||||
|
.....................#.#...#...
|
||||||
|
...........#.#........#.#.#....
|
||||||
|
.......#......#........#...#.#.
|
||||||
|
.........#....................#
|
||||||
|
.##.##....#...#.#.#.#..........
|
||||||
|
#....##..#.##....#....#.......#
|
||||||
|
.##.#...#...............#....#.
|
||||||
|
.......#...#.###....#..........
|
||||||
|
.....#....#...#..#.............
|
||||||
|
#.........#.##....#.#.#........
|
||||||
|
..#...#.............##..#..#...
|
||||||
|
#..##.......#..........#...#.#.
|
||||||
|
.#..#.....#...........#......#.
|
||||||
|
......#......#..............##.
|
||||||
|
.#...#..#...#..####.....#.....#
|
||||||
|
....##.......#..........##.....
|
||||||
|
.#.....#.......#.....#.#...#...
|
||||||
|
..#..#..#.#...#......#.........
|
||||||
|
......#.#....#........#.......#
|
||||||
|
........#.......#..............
|
||||||
|
..#...#.#....#........#.......#
|
||||||
|
............#....#...##.#......
|
||||||
|
.........#.............#..#....
|
||||||
|
#.............#.#..##.......#..
|
||||||
|
#....#...........###....#......
|
||||||
|
...#.....................#.....
|
||||||
|
....#.#..........#...#.......#.
|
||||||
|
......#..#.......#...#...#....#
|
||||||
|
.#.#..#.....##.#........#......
|
||||||
|
...........#...#.#.............
|
||||||
|
...###............#...#..#.....
|
||||||
|
..#.#.......#...#.#..#.........
|
||||||
|
.#......##...........#.....#.##
|
||||||
|
.....##.....#....##...##.#.#...
|
||||||
|
..........#.#.#......#........#
|
||||||
|
..#.#........#....##....#.#....
|
||||||
|
.#....#...##...........#....#..
|
||||||
|
##......#...#.......#..........
|
||||||
|
.##...###..#...#......#..##.#.#
|
||||||
|
...........##.#..##...#.......#
|
||||||
|
..#..............##............
|
||||||
|
........#..#........#...#..#.#.
|
||||||
|
..#.............#......#...##..
|
||||||
|
#...##....#...#....#....#.#....
|
||||||
|
.#.#......#..##............#.#.
|
||||||
|
.....###.#....##....#....#.....
|
||||||
|
#.#.#..........#...#...#.#.#...
|
||||||
|
.....#.#...........####........
|
||||||
|
.....#....##...#.##..#......#..
|
||||||
|
#....#.......#.##.......#..#...
|
||||||
|
.....#.....#........#..........
|
||||||
|
.......#.......#...#.##......#.
|
||||||
|
...#.........##...#.#.#......##
|
||||||
|
#........#........#...#..#.....
|
||||||
|
.#......#.#......#.#...#....#..
|
||||||
|
#..#....##.....##..............
|
||||||
|
...#.##............#..........#
|
||||||
|
.....#.#....#..#.#............#
|
||||||
|
..#......#...###.##.......###..
|
||||||
|
........#....#.#.#.#...........
|
||||||
|
............#..#........#.....#
|
||||||
|
....#...............#..........
|
||||||
|
......#....#....###..#.......##
|
||||||
|
#...#...##....#.........#...#..
|
||||||
|
...........#.#.............#...
|
||||||
|
...#..#.....#..##.#....#......#
|
||||||
|
..#...#..#...#......#..........
|
||||||
|
....#..#....#.......#........#.
|
17
day_3/task_1.js
Normal file
17
day_3/task_1.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const file = fs.readFileSync('./input.txt').toString('utf-8');
|
||||||
|
const arr = file.split('\n');
|
||||||
|
|
||||||
|
let trees = 0;
|
||||||
|
let row = 0;
|
||||||
|
let pos = 1;
|
||||||
|
|
||||||
|
while (row < arr.length) {
|
||||||
|
const currentRow = arr[row];
|
||||||
|
// console.log(`${currentRow.slice(0, pos - 1)}${currentRow.charAt(pos - 1) == '#' ? 'X' : 'O'}${currentRow.slice(pos - 1)}` + ' ' + pos + ' => ' + currentRow.charAt(pos - 1));
|
||||||
|
if (currentRow.charAt(pos - 1) == '#') trees++;
|
||||||
|
row += 1;
|
||||||
|
pos += 3;
|
||||||
|
if (pos > currentRow.length) pos -= currentRow.length;
|
||||||
|
}
|
||||||
|
console.log(`Encountered ${trees} trees.`);
|
33
day_3/task_2.js
Normal file
33
day_3/task_2.js
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const file = fs.readFileSync('./input.txt').toString('utf-8');
|
||||||
|
const arr = file.split('\n');
|
||||||
|
|
||||||
|
const speeds = [
|
||||||
|
[1, 1],
|
||||||
|
[3, 1],
|
||||||
|
[5, 1],
|
||||||
|
[7, 1],
|
||||||
|
[1, 2]
|
||||||
|
]
|
||||||
|
|
||||||
|
let results = [];
|
||||||
|
|
||||||
|
for (const [ rightSpeed, downSpeed ] of speeds) {
|
||||||
|
let trees = 0;
|
||||||
|
let row = 0;
|
||||||
|
let pos = 1;
|
||||||
|
|
||||||
|
console.log(`Down ${downSpeed}, right ${rightSpeed}:`);
|
||||||
|
while (row < arr.length) {
|
||||||
|
const currentRow = arr[row];
|
||||||
|
// console.log(`${currentRow.slice(0, pos - 1)}${currentRow.charAt(pos - 1) == '#' ? 'X' : 'O'}${currentRow.slice(pos - 1)}` + ' ' + pos + ' => ' + currentRow.charAt(pos - 1));
|
||||||
|
if (currentRow.charAt(pos - 1) == '#') trees++;
|
||||||
|
row += downSpeed;
|
||||||
|
pos += rightSpeed;
|
||||||
|
if (pos > currentRow.length) pos -= currentRow.length;
|
||||||
|
}
|
||||||
|
console.log(`Encountered ${trees} trees.\n`);
|
||||||
|
results.push(trees);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Result: ${results.join(' * ')} = ${results.reduce((acc, cur) => acc * cur)}`);
|
Loading…
Reference in a new issue