diff --git a/Day7/Part1.js b/Day7/Part1.js index 6faa1be..3e2f490 100644 --- a/Day7/Part1.js +++ b/Day7/Part1.js @@ -2,16 +2,33 @@ import { readFileSync } from "fs"; const t0 = performance.now(); const patterns = [ - "abcde", - "aabcd", - "aabbc", - "aaabc", - "aaabb", - "aaaab", - "aaaaa", + "01234", + "00123", + "00112", + "00012", + "00011", + "00001", + "00000", ]; -const input = readFileSync("input.txt").toString(); -console.log(input); +const cards = ["A", "K", "Q", "J", "T", "9", "8", "7", "6", "5", "4", "3", "2"]; +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(); console.log(`Runtime: ${t1 - t0}ms`);