#!/bin/node const fs = require('fs'); fs.readFile('input.txt', (err, data) => { const lines = data.toString().split('\n').filter(l => l.length > 0); width = lines[0].length; const slopes = [ [1, 1], [3, 1], [5, 1], [7, 1], [1, 2], ]; const positions = slopes.map(_ => 0); const results = slopes.map(_ => 0); for (let i = 0; i < lines.length; i++) { const line = lines[i]; for (let j = 0; j < slopes.length; j++) { const [right, down] = slopes[j]; if (i % down === 0) { if (line[positions[j]] === '#') results[j]++; positions[j] = (positions[j] + right) % width; } } } console.log(results, results.reduce((a, n) => a * n, 1)); });