You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
628 B
JavaScript

4 years ago
const { readInput } = require("./util");
const { lines } = readInput();
function binToInt(binString, oneChar = "1") {
const binArr = Array.from(binString).reverse();
let num = 0;
for (let i = 0; i < binArr.length; i++) {
if (binArr[i] === oneChar) {
num += 2 ** i;
}
}
return num;
}
function seatId(pass) {
const row = binToInt(pass.slice(0, 7), "B");
const col = binToInt(pass.slice(7, 11), "R");
return row * 8 + col;
}
for (const line of lines.slice(0, 10)) {
console.log(line, seatId(line));
}
const seatIds = lines.map(seatId);
console.log(seatIds);
console.log(Math.max(...seatIds));