Files
advent-of-code/old/2021/02/Program.cs
T
2023-11-30 12:51:45 +00:00

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}");