1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
const data = require('./data') const [first, ...busses] = data .split('\n') .filter(d => d !== '')[1] .split(',') .map(d => d === 'x' ? null : parseInt(d)) let interval = first, t = 0 busses.forEach((b, i) => { if (b) { while(true){ if ((t+i+1) % b === 0) { interval *= b break } t += interval } } }) console.log('Answer: ', t)