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