Skip to content

Instantly share code, notes, and snippets.

View Gregoor's full-sized avatar
🌈
Be kind

Gregor Gregoor

🌈
Be kind
View GitHub Profile
@Gregoor
Gregoor / aoc3.js
Last active December 6, 2015 20:19
Advent of Code - Day 3: Perfectly Spherical Houses in a Vacuum
const parseSantaRoute = (str, roboMode = false) => {
const charFns = {
'^': (x, y) => [x , y + 1],
'v': (x, y) => [x , y - 1],
'>': (x, y) => [x + 1, y ],
'<': (x, y) => [x - 1, y ]
};
let error;
let position = [0, 0];
@Gregoor
Gregoor / aoc2.js
Last active December 6, 2015 19:21
Advent of Code - Day 2: I Was Told There Would Be No Math
const calcPaper = (l, w, h) => {
const sides = [l * w, w * h, h * l];
return Math.min(...sides) + sides.reduce((n, v) => n + 2 * v, 0);
};
const calcRibbon = (...dimensions) => {
const max = Math.max(...dimensions);
return 2 * dimensions.filter(n => n !== max).reduce((n, v) => n + v, 0) +
dimensions.reduce((n, v) => n * v, 1);
}
@Gregoor
Gregoor / aoc1.js
Last active March 10, 2018 12:23
Advent of Code - Day 1: Not Quite Lisp
const parseFloor = (str) => {
const floorCharFns = {
'(': n => n + 1,
')': n => n - 1
};
let floor = 0;
let error;
let firstBasementPos;
for (let i = 0; i < str.length; i++) {
const char = str[i];
import 'package:benchmark_harness/benchmark_harness.dart';
import 'dart:math';
void main() {
var keyFn = (n) {
var sum = n % 9;
if (sum == 0 && n > 0) sum = 9;
return sum;
},
compFn = (n1, n2) => keyFn(n1).compareTo(keyFn(n2));