This commit is contained in:
2022-12-05 21:05:25 +00:00
parent f214ed1fe3
commit e43eea0f6e
3 changed files with 15 additions and 20 deletions

16
package-lock.json generated
View File

@@ -4,9 +4,6 @@
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"dependencies": {
"timestamp-nano": "^1.0.0"
},
"devDependencies": { "devDependencies": {
"@swc/core": "^1.3.21", "@swc/core": "^1.3.21",
"@swc/helpers": "^0.4.14", "@swc/helpers": "^0.4.14",
@@ -671,14 +668,6 @@
"node": ">=4" "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": { "node_modules/to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -1234,11 +1223,6 @@
"has-flag": "^3.0.0" "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": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",

View File

@@ -8,9 +8,6 @@
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typescript": "^4.9.3" "typescript": "^4.9.3"
}, },
"dependencies": {
"timestamp-nano": "^1.0.0"
},
"scripts": { "scripts": {
"start": "nodemon src/2022/day5/index.ts" "start": "nodemon src/2022/day5/index.ts"
} }

View File

@@ -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++) { for (let idx = 0; idx < rules.length; idx++) {
const [move, from, to] = rules[idx].split(' ').filter(el => !isNaN(Number(el))).map(Number); 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()); 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); console.log("Part1:", part1);
elapsed = process.hrtime.bigint() - start; 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);