reading plays; detecting hand types

This commit is contained in:
Baipyrus 2023-12-08 22:02:30 +01:00
parent 167b259c9f
commit 2fcefde8f7

View File

@ -2,16 +2,33 @@ import { readFileSync } from "fs";
const t0 = performance.now(); const t0 = performance.now();
const patterns = [ const patterns = [
"abcde", "01234",
"aabcd", "00123",
"aabbc", "00112",
"aaabc", "00012",
"aaabb", "00011",
"aaaab", "00001",
"aaaaa", "00000",
]; ];
const input = readFileSync("input.txt").toString(); const cards = ["A", "K", "Q", "J", "T", "9", "8", "7", "6", "5", "4", "3", "2"];
console.log(input); const input = readFileSync("input.txt")
.toString()
.split("\r\n")
.filter((e) => e.length > 0);
const plays = input.map((e) => {
const [draw, bidding] = e.split(" ");
let count = 0;
const hand = draw
.split("")
.map((e) => cards.indexOf(e))
.sort((a, b) => b - a)
.map((e, i, a) => (i !== 0 && e !== (a[i - 1] ?? 0) ? ++count : count))
.reduce((a, i) => a + i.toString());
return { hand, draw, bidding };
});
console.log(plays);
const t1 = performance.now(); const t1 = performance.now();
console.log(`Runtime: ${t1 - t0}ms`); console.log(`Runtime: ${t1 - t0}ms`);