mirror of
https://github.com/jcreek/advent-of-code.git
synced 2026-07-12 18:53:47 +00:00
56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
// Part 1
|
|
string[] lines = File.ReadAllLines("input.txt");
|
|
|
|
int horizontalPosition = 0;
|
|
int verticalPosition = 0;
|
|
|
|
foreach (string line in lines)
|
|
{
|
|
string[] parts = line.Split(' ');
|
|
|
|
if (parts[0] == "forward")
|
|
{
|
|
horizontalPosition += Int32.Parse(parts[1]);
|
|
}
|
|
else if (parts[0] == "down")
|
|
{
|
|
verticalPosition += Int32.Parse(parts[1]);
|
|
}
|
|
else if (parts[0] == "up")
|
|
{
|
|
verticalPosition -= Int32.Parse(parts[1]);
|
|
}
|
|
}
|
|
|
|
Console.WriteLine($"Final position: {horizontalPosition},{verticalPosition}");
|
|
|
|
Console.WriteLine($"Multiplied together, that is: {horizontalPosition * verticalPosition}");
|
|
|
|
|
|
// Part 2
|
|
int newHorizontalPosition = 0;
|
|
int newVerticalPosition = 0;
|
|
int aim = 0;
|
|
|
|
foreach (string line in lines)
|
|
{
|
|
string[] parts = line.Split(' ');
|
|
|
|
if (parts[0] == "forward")
|
|
{
|
|
newHorizontalPosition += Int32.Parse(parts[1]);
|
|
newVerticalPosition += (aim * Int32.Parse(parts[1]));
|
|
}
|
|
else if (parts[0] == "down")
|
|
{
|
|
aim += Int32.Parse(parts[1]);
|
|
}
|
|
else if (parts[0] == "up")
|
|
{
|
|
aim -= Int32.Parse(parts[1]);
|
|
}
|
|
}
|
|
|
|
Console.WriteLine($"Final position: {newHorizontalPosition},{newVerticalPosition}");
|
|
|
|
Console.WriteLine($"Multiplied together, that is: {newHorizontalPosition * newVerticalPosition}"); |