Merge branch '2022-01'
This commit is contained in:
commit
6daade9692
38
2022/01/test.js
Normal file
38
2022/01/test.js
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import * as R from "remeda";
|
||||||
|
import { test, expect } from "vitest";
|
||||||
|
import fs from "fs-extra";
|
||||||
|
|
||||||
|
const split = (splitter) => (text) => text.split(splitter);
|
||||||
|
const sum = R.sumBy(R.identity);
|
||||||
|
const spy = (x) => {
|
||||||
|
console.debug(x);
|
||||||
|
return x;
|
||||||
|
};
|
||||||
|
|
||||||
|
const input = R.pipe(
|
||||||
|
fs.readFileSync("input", "utf8"),
|
||||||
|
split("\n\n"),
|
||||||
|
R.map((x) =>
|
||||||
|
split("\n")(x)
|
||||||
|
.map((x) => parseInt(x))
|
||||||
|
.filter(R.isNumber)
|
||||||
|
),
|
||||||
|
R.map(sum)
|
||||||
|
);
|
||||||
|
|
||||||
|
function expectSolution(result) {
|
||||||
|
console.info(result);
|
||||||
|
return expect(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
test("part 1", () => {
|
||||||
|
const maxCalories = R.pipe(input, (calories) => Math.max(...calories));
|
||||||
|
|
||||||
|
expectSolution(maxCalories).toEqual(71780);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("part 2", () => {
|
||||||
|
input.sort((a, b) => (a > b ? -1 : 1));
|
||||||
|
|
||||||
|
expectSolution(R.pipe(input, R.take(3), R.sumBy(R.identity))).toEqual(212489);
|
||||||
|
});
|
12
2022/Taskfile.yaml
Normal file
12
2022/Taskfile.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# https://taskfile.dev
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
GREETING: Hello, World!
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
default:
|
||||||
|
cmds:
|
||||||
|
- echo "{{.GREETING}}"
|
||||||
|
silent: true
|
Loading…
Reference in New Issue
Block a user