Projektdateien hinzufügen.
This commit is contained in:
parent
8f0b224c91
commit
a1a4abcdfa
15
AdventOfCode2021.csproj
Normal file
15
AdventOfCode2021.csproj
Normal file
|
@ -0,0 +1,15 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="inputs\day2 - Kopieren %282%29.txt" />
|
||||
<None Remove="inputs\day2 - Kopieren.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
25
AdventOfCode2021.sln
Normal file
25
AdventOfCode2021.sln
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.4.33122.133
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdventOfCode2021", "AdventOfCode2021.csproj", "{86E5DDE7-1AB6-486A-A75B-594F87BC7151}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{86E5DDE7-1AB6-486A-A75B-594F87BC7151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{86E5DDE7-1AB6-486A-A75B-594F87BC7151}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{86E5DDE7-1AB6-486A-A75B-594F87BC7151}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{86E5DDE7-1AB6-486A-A75B-594F87BC7151}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E035E8A4-FF5C-422F-A0D3-8B1AF82463CA}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
4
Program.cs
Normal file
4
Program.cs
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
|
||||
using AdventOfCode2021;
|
||||
var day = new day3("day3");
|
82
day1.cs
Normal file
82
day1.cs
Normal file
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AdventOfCode2021
|
||||
{
|
||||
internal class day1
|
||||
{
|
||||
string[] input;
|
||||
|
||||
public day1(string day)
|
||||
{
|
||||
input = getInput(day);
|
||||
part1();
|
||||
part2();
|
||||
}
|
||||
public string[] getInput(string day)
|
||||
{
|
||||
string filepath = $"../../../inputs/{day}.txt";
|
||||
string[] file = File.ReadAllLines(filepath);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
public void part1()
|
||||
{
|
||||
|
||||
|
||||
int temp = int.Parse(input[0]);
|
||||
int counter = 0;
|
||||
for(int i = 0; i < input.Length; i++)
|
||||
{
|
||||
if (int.Parse(input[i]) > temp)
|
||||
{
|
||||
temp = int.Parse(input[i]);
|
||||
counter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = int.Parse(input[i]);
|
||||
}
|
||||
}
|
||||
Console.WriteLine($"Part 1 : {counter}");
|
||||
|
||||
}
|
||||
public void part2()
|
||||
{
|
||||
int temp = computeWindow(0);
|
||||
int counter = 0;
|
||||
|
||||
for (int i = 3; i < input.Length; i++)
|
||||
{
|
||||
if(computeWindow(i -2) > temp)
|
||||
{
|
||||
counter++;
|
||||
temp= computeWindow(i - 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = computeWindow(i - 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Console.WriteLine($"Part 2 : {counter}");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public int computeWindow(int index)
|
||||
{
|
||||
int window = int.Parse(input[index]) + int.Parse(input[index + 1]) + int.Parse(input[index + 2]);
|
||||
return window;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
79
day2.cs
Normal file
79
day2.cs
Normal file
|
@ -0,0 +1,79 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AdventOfCode2021
|
||||
{
|
||||
internal class day2
|
||||
{
|
||||
string[] input;
|
||||
|
||||
public day2(string day)
|
||||
{
|
||||
input = getInput(day);
|
||||
part1();
|
||||
part2();
|
||||
}
|
||||
public string[] getInput(string day)
|
||||
{
|
||||
string filepath = $"../../../inputs/{day}.txt";
|
||||
string[] file = File.ReadAllLines(filepath);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
public void part1()
|
||||
{
|
||||
int result = 0;
|
||||
int horizontal = 0;
|
||||
int depth = 0;
|
||||
|
||||
foreach(string line in input)
|
||||
{
|
||||
if (line.StartsWith("forward"))
|
||||
{
|
||||
horizontal += int.Parse(line.Split(' ')[1]);
|
||||
}
|
||||
else if (line.StartsWith("down"))
|
||||
{
|
||||
depth += int.Parse(line.Split(' ')[1]);
|
||||
}
|
||||
else if (line.StartsWith("up"))
|
||||
{
|
||||
depth -= int.Parse(line.Split(' ')[1]);
|
||||
}
|
||||
}
|
||||
result = horizontal * depth;
|
||||
Console.WriteLine($"Part 1: {result}");
|
||||
|
||||
}
|
||||
public void part2()
|
||||
{
|
||||
int result = 0;
|
||||
int horizontal = 0;
|
||||
int aim = 0;
|
||||
int depht = 0;
|
||||
foreach (string line in input)
|
||||
{
|
||||
if (line.StartsWith("forward"))
|
||||
{
|
||||
horizontal += int.Parse(line.Split(' ')[1]);
|
||||
depht += int.Parse(line.Split(' ')[1]) * aim;
|
||||
}
|
||||
else if (line.StartsWith("down"))
|
||||
{
|
||||
aim += int.Parse(line.Split(' ')[1]);
|
||||
}
|
||||
else if (line.StartsWith("up"))
|
||||
{
|
||||
aim -= int.Parse(line.Split(' ')[1]);
|
||||
}
|
||||
}
|
||||
result = horizontal * depht;
|
||||
Console.WriteLine($"Part 2: {result}");
|
||||
}
|
||||
}
|
||||
}
|
85
day3.cs
Normal file
85
day3.cs
Normal file
|
@ -0,0 +1,85 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AdventOfCode2021
|
||||
{
|
||||
internal class day3
|
||||
{
|
||||
string[] input;
|
||||
|
||||
public day3(string day)
|
||||
{
|
||||
input = getInput(day);
|
||||
part1();
|
||||
part2();
|
||||
}
|
||||
public string[] getInput(string day)
|
||||
{
|
||||
string filepath = $"../../../inputs/{day}.txt";
|
||||
string[] file = File.ReadAllLines(filepath);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
public void part1()
|
||||
{
|
||||
var result = new StringBuilder();
|
||||
var result2 = new StringBuilder();
|
||||
|
||||
|
||||
for(int i = 0; i < input[0].Length; i++)
|
||||
{
|
||||
int oneCounter = 0;
|
||||
int zeroCounter = 0;
|
||||
for(int j = 0; j < input.Length; j++)
|
||||
{
|
||||
if (input[j][i] == '0')
|
||||
{
|
||||
zeroCounter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
oneCounter++;
|
||||
}
|
||||
|
||||
}
|
||||
if (oneCounter > zeroCounter)
|
||||
{
|
||||
result.Append('1');
|
||||
result2.Append('0');
|
||||
}
|
||||
else if (oneCounter < zeroCounter)
|
||||
{
|
||||
result.Append('0');
|
||||
result2.Append('1');
|
||||
}
|
||||
else if(oneCounter == zeroCounter)
|
||||
{
|
||||
result.Append('1');
|
||||
result2.Append('0');
|
||||
}
|
||||
}
|
||||
|
||||
int decResult1 = Convert.ToInt32(result.ToString(), 2);
|
||||
int decResult2 = Convert.ToInt32(result2.ToString(), 2);
|
||||
|
||||
int finalResult = decResult1 * decResult2;
|
||||
Console.WriteLine($"Part 1 : {finalResult}");
|
||||
}
|
||||
public void part2()
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Console.WriteLine($"Part 2 : ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
36
days.cs
Normal file
36
days.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AdventOfCode2021
|
||||
{
|
||||
internal class days
|
||||
{
|
||||
string[] input;
|
||||
|
||||
public days(string day)
|
||||
{
|
||||
input = getInput(day);
|
||||
part1();
|
||||
part2();
|
||||
}
|
||||
public string[] getInput(string day)
|
||||
{
|
||||
string filepath = $"../../../inputs/{day}.txt";
|
||||
string[] file = File.ReadAllLines(filepath);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
public void part1()
|
||||
{
|
||||
}
|
||||
public void part2()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2000
inputs/day1.txt
Normal file
2000
inputs/day1.txt
Normal file
File diff suppressed because it is too large
Load Diff
1000
inputs/day2 - Kopieren (2).txt
Normal file
1000
inputs/day2 - Kopieren (2).txt
Normal file
File diff suppressed because it is too large
Load Diff
1
inputs/day2 - Kopieren.txt
Normal file
1
inputs/day2 - Kopieren.txt
Normal file
|
@ -0,0 +1 @@
|
|||
|
1000
inputs/day2.txt
Normal file
1000
inputs/day2.txt
Normal file
File diff suppressed because it is too large
Load Diff
1000
inputs/day3.txt
Normal file
1000
inputs/day3.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user