From b60da45929b56b97e981ce0ee0dd95c8995b9220 Mon Sep 17 00:00:00 2001 From: Jake Charman Date: Fri, 2 Dec 2022 15:53:35 +0000 Subject: [PATCH] Completed 2015 day 2 --- .gitignore | 5 ++++ 2015/Day-01/{Day01-1.cs => Day01.cs} | 0 2015/Day-02/Day02.cs | 43 ++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 .gitignore rename 2015/Day-01/{Day01-1.cs => Day01.cs} (100%) create mode 100644 2015/Day-02/Day02.cs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..947f03e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +bin +obj +*.csproj +test.txt +.vscode diff --git a/2015/Day-01/Day01-1.cs b/2015/Day-01/Day01.cs similarity index 100% rename from 2015/Day-01/Day01-1.cs rename to 2015/Day-01/Day01.cs diff --git a/2015/Day-02/Day02.cs b/2015/Day-02/Day02.cs new file mode 100644 index 0000000..1fb32e5 --- /dev/null +++ b/2015/Day-02/Day02.cs @@ -0,0 +1,43 @@ +int totalSqFt = 0; +int totalRibbon = 0; + +// Read the input line by line. +foreach(string line in File.ReadLines(@"input.txt")){ + // Split the values into different vars. + List dimensionStrings = line.Split('x').ToList(); + List dimensions = new List(); + foreach(string number in dimensionStrings){ + dimensions.Add(Int32.Parse(number)); + } + int length = dimensions[0]; + int width = dimensions[1]; + int height = dimensions[2]; + + // Find smallest two dimensions. + dimensions.Remove(dimensions.Max()); + + // Calculate the perimeter and volume. + int perimeter = ((2 * dimensions[0]) + (2 * dimensions[1])); + int volume = (length * width * height); + + totalRibbon += (perimeter + volume); + + // Calculate the area of each side. + List sides = new List(); + sides.Add(length * width); + sides.Add(width * height); + sides.Add(height * length); + + // Find the smallest side to use for slack. + int slack = sides.Min(); + totalSqFt += slack; + + // Add the sides. + foreach(int side in sides){ + totalSqFt += (side * 2); + } +} + +// Print the totals. +Console.WriteLine("Part 1: " + totalSqFt); +Console.WriteLine("Part 2: " + totalRibbon);