advent-of-code/2020/day6/day6.js

35 lines
874 B
JavaScript
Executable File

#!/bin/node
const fs = require('fs');
fs.readFile('input.txt', (err, data) => {
const groups = data.toString()
.split('\n\n')
.map(group => group.split('\n')
.filter(person => person.length > 0));
let q1 = 0;
let q2 = 0;
for (const group of groups) {
let q1Questions = [];
let q2Questions = [];
for (const person of group) {
for (const question of person) {
if (q1Questions.indexOf(question) < 0) {
q1Questions.push(question);
}
if (q2Questions.indexOf(question) < 0 && group.every(person => person.indexOf(question) >= 0)) {
q2Questions.push(question);
}
}
}
q1 += q1Questions.length;
q2 += q2Questions.length;
}
console.log(q1, q2);
});