35 lines
874 B
JavaScript
Executable File
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);
|
|
});
|