16 lines
508 B
JavaScript
16 lines
508 B
JavaScript
const fs = require('fs');
|
|
|
|
const searchSoP = (buffer, uniqueness) => {
|
|
let ret = [];
|
|
for (let i = 0; i < buffer.length; i++) {
|
|
ret.push(buffer.charAt(i));
|
|
if (ret.length > uniqueness) ret.shift();
|
|
if (ret.length == uniqueness && (new Set(ret)).size == ret.length) return { str: ret, i: i };
|
|
}
|
|
}
|
|
|
|
const dataStream = fs.readFileSync('6.input').toString();
|
|
|
|
console.log(`Part 1: ${searchSoP(dataStream, 4).i + 1}`);
|
|
console.log(`Part 2: ${searchSoP(dataStream, 14).i + 1}`);
|