Add code for 2015 advent that I did historically.
This commit is contained in:
parent
13968ed94e
commit
9e9e556c73
25 changed files with 598 additions and 0 deletions
3
day_2/info.md
Normal file
3
day_2/info.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
https://adventofcode.com/2015/day/2
|
||||
|
||||
`2*l*w + 2*w*h + 2*h*l + min(l*w, w*h, h*l)`
|
||||
21
day_2/part_1.ts
Normal file
21
day_2/part_1.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// @ts-ignore
|
||||
import { readFileSync } from "fs";
|
||||
|
||||
|
||||
let data: string = readFileSync("input", "utf-8");
|
||||
|
||||
let surface_area_sum: number = 0;
|
||||
|
||||
for (var dimensions of data.split("\n")) {
|
||||
let dimension_array: string[] = dimensions.split("x");
|
||||
|
||||
let l: number = parseInt(dimension_array[0]),
|
||||
w: number = parseInt(dimension_array[1]),
|
||||
h: number = parseInt(dimension_array[2]);
|
||||
|
||||
let surface_area: number = (2*l*w + 2*l*h + 2*h*w + Math.min(l*w, l*h, h*w));
|
||||
|
||||
surface_area_sum = surface_area_sum + surface_area;
|
||||
};
|
||||
|
||||
console.log(`Total Surface Area Needed Of Wrapping Paper: ${surface_area_sum}`);
|
||||
16
day_2/part_2.py
Normal file
16
day_2/part_2.py
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
ribbon_sum = 0
|
||||
|
||||
|
||||
with open("input", "r") as data:
|
||||
|
||||
|
||||
for line in data:
|
||||
dimensions = line.split("x")
|
||||
l, w, h = [int(x) for x in dimensions]
|
||||
|
||||
min_perimeter = min(l+l+w+w, l+l+h+h, h+h+w+w)
|
||||
volume = l * w * h
|
||||
|
||||
ribbon_sum += min_perimeter + volume
|
||||
|
||||
print(ribbon_sum)
|
||||
29
day_2/part_2.ts
Normal file
29
day_2/part_2.ts
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
// @ts-ignore
|
||||
import { readFileSync } from "fs";
|
||||
|
||||
|
||||
let data: string = readFileSync("input", "utf-8");
|
||||
|
||||
|
||||
let ribbon_sum: number = 0;
|
||||
|
||||
for (var line of data.split(`\n`)) {
|
||||
let dimensions: string[] = line.split("x", 3);
|
||||
|
||||
let l = parseInt(dimensions[0]);
|
||||
let w = parseInt(dimensions[1]);
|
||||
let h = parseInt(dimensions[2]);
|
||||
|
||||
let min_perimeter: number = Math.min(
|
||||
l+l+w+w,
|
||||
l+l+h+h,
|
||||
w+w+h+h
|
||||
);
|
||||
|
||||
let volume: number = l * w * h;
|
||||
|
||||
ribbon_sum = ribbon_sum + min_perimeter + volume;
|
||||
};
|
||||
|
||||
|
||||
console.log(`Ribbon Length Needed: ${ribbon_sum}`);
|
||||
Loading…
Add table
Add a link
Reference in a new issue