From e43eea0f6e004044cbba32e58e0b5a4c4b0dee8e Mon Sep 17 00:00:00 2001 From: Nathan van Ofwegen Date: Mon, 5 Dec 2022 21:05:25 +0000 Subject: [PATCH] d5p2 --- package-lock.json | 16 ---------------- package.json | 3 --- src/2022/day5/index.ts | 16 +++++++++++++++- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6179808..0bc76e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,9 +4,6 @@ "requires": true, "packages": { "": { - "dependencies": { - "timestamp-nano": "^1.0.0" - }, "devDependencies": { "@swc/core": "^1.3.21", "@swc/helpers": "^0.4.14", @@ -671,14 +668,6 @@ "node": ">=4" } }, - "node_modules/timestamp-nano": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/timestamp-nano/-/timestamp-nano-1.0.0.tgz", - "integrity": "sha512-NO/1CZigzlCWQiWdIGv8ebXt6Uk77zdLz2NE7KcZRU5Egj2+947lzUpk30xQUQlq5dRY25j7ZulG4RfA2DHYfA==", - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -1234,11 +1223,6 @@ "has-flag": "^3.0.0" } }, - "timestamp-nano": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/timestamp-nano/-/timestamp-nano-1.0.0.tgz", - "integrity": "sha512-NO/1CZigzlCWQiWdIGv8ebXt6Uk77zdLz2NE7KcZRU5Egj2+947lzUpk30xQUQlq5dRY25j7ZulG4RfA2DHYfA==" - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index e84cf58..2877643 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,6 @@ "ts-node": "^10.9.1", "typescript": "^4.9.3" }, - "dependencies": { - "timestamp-nano": "^1.0.0" - }, "scripts": { "start": "nodemon src/2022/day5/index.ts" } diff --git a/src/2022/day5/index.ts b/src/2022/day5/index.ts index e168a63..5077381 100644 --- a/src/2022/day5/index.ts +++ b/src/2022/day5/index.ts @@ -20,6 +20,8 @@ for (let idx = stack.length - 2; idx >= 0; idx--) { } } +let stackInputPart2: any[] = JSON.parse(JSON.stringify(stackInput)); + for (let idx = 0; idx < rules.length; idx++) { const [move, from, to] = rules[idx].split(' ').filter(el => !isNaN(Number(el))).map(Number); for (let num = 0; num < move; num++) stackInput[to - 1].push(stackInput[from - 1].pop()); @@ -29,4 +31,16 @@ const part1 = stackInput.map(buck => buck[buck.length - 1]).join(""); console.log("Part1:", part1); -elapsed = process.hrtime.bigint() - start; \ No newline at end of file +elapsed = process.hrtime.bigint() - start; + +for (let idx = 0; idx < rules.length; idx++) { + const [move, from, to] = rules[idx].split(' ').filter(el => !isNaN(Number(el))).map(Number); + + let cratemover9001: any[] = []; + for (let num = 0; num < move; num++) cratemover9001.push(stackInputPart2[from - 1].pop()); + stackInputPart2[to - 1] = stackInputPart2[to - 1].concat(cratemover9001.reverse()); +} + +const part2 = stackInputPart2.map(buck => buck[buck.length - 1]).join(""); +console.log("Part2:", part2); +