Added the Entrys for the Days 1 - 7

This commit is contained in:
Jona Krampe
2022-12-20 07:35:29 +00:00
parent f41d001d33
commit cfeab93722
43 changed files with 9229 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Advent of Code 2022 Day 5</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<filteredResources>
<filter>
<id>1671521328704</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
@@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11
+14
View File
@@ -0,0 +1,14 @@
[V] [C] [M]
[V] [J] [N] [H] [V]
[R] [F] [N] [W] [Z] [N]
[H] [R] [D] [Q] [M] [L] [B]
[B] [C] [H] [V] [R] [C] [G] [R]
[G] [G] [F] [S] [D] [H] [B] [R] [S]
[D] [N] [S] [D] [H] [G] [J] [J] [G]
[W] [J] [L] [J] [S] [P] [F] [S] [L]
1 2 3 4 5 6 7 8 9
move 1 from 2 to 1
move 3 from 1 to 3
move 2 from 2 to 1
move 1 from 1 to 2
+182
View File
@@ -0,0 +1,182 @@
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class main {
static ArrayList<Stack<Character>> supplyStacksPart1;
static ArrayList<Stack<Character>> supplyStacksPart2;
public static void main(String[] args) {
supplyStacksPart1 = new ArrayList<Stack<Character>>(9);
supplyStacksPart2 = new ArrayList<Stack<Character>>(9);
for (int i = 0; i < 9; i++) {
supplyStacksPart1.add(new Stack<Character>());
supplyStacksPart2.add(new Stack<Character>());
}
populateArrayListOfStacks(supplyStacksPart1);
populateArrayListOfStacks(supplyStacksPart2);
int numberOfCratesToMove = 0,stackToBeMovedFrom = 0, stackToMoveTo = 0;
int line = 0;
int offset = 0;
Stack<Character> temporalHoldingOfCrates = new Stack<Character>();
try {
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
String str;
while ((str = file.readLine()) != null) {
line++;
if (line >= 11) {
if (str.charAt(7) != ' ') {
numberOfCratesToMove = Integer.valueOf(str.substring(5,6));
offset = 0;
}
else {
numberOfCratesToMove = Integer.valueOf(str.substring(5,7));
offset = 1;
}
stackToBeMovedFrom = Integer.valueOf(str.substring(12+offset,13+offset));
stackToMoveTo = Integer.valueOf(str.substring(17+offset));
for (int i = 0; i < numberOfCratesToMove; i++) {
//Part 1
if (!supplyStacksPart1.get(stackToBeMovedFrom-1).empty()) {
supplyStacksPart1.get(stackToMoveTo-1).push(supplyStacksPart1.get(stackToBeMovedFrom-1).pop());
}
//Part 2
if (!supplyStacksPart2.get(stackToBeMovedFrom-1).empty()) {
temporalHoldingOfCrates.push(supplyStacksPart2.get(stackToBeMovedFrom-1).pop());
}
}
for (int i = 0; i < temporalHoldingOfCrates.size(); i++) {
supplyStacksPart2.get(stackToMoveTo-1).push(temporalHoldingOfCrates.pop());
}
for (int i = 0; i < 9; i++) {
if (!supplyStacksPart2.get(i).empty())
System.out.print(supplyStacksPart2.get(i).peek());
else
System.out.print(" ");
}
System.out.println();
}
}
System.out.print("Part 1: ");
for (int i = 0; i < 9; i++) {
if (!supplyStacksPart1.get(i).empty())
System.out.print(supplyStacksPart1.get(i).peek());
}
System.out.println("");
System.out.print("Part 2: ");
for (int i = 0; i < 9; i++) {
if (!supplyStacksPart2.get(i).empty())
System.out.print(supplyStacksPart2.get(i).peek());
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void populateArrayListOfStacks(ArrayList<Stack<Character>> arrayListOfStack) {
arrayListOfStack.get(0).push('Z');
arrayListOfStack.get(0).push('N');
arrayListOfStack.get(1).push('M');
arrayListOfStack.get(1).push('C');
arrayListOfStack.get(1).push('D');
arrayListOfStack.get(2).push('P');
/*
// Stack 1
arrayListOfStack.get(0).push('W');
arrayListOfStack.get(0).push('D');
arrayListOfStack.get(0).push('G');
arrayListOfStack.get(0).push('B');
arrayListOfStack.get(0).push('H');
arrayListOfStack.get(0).push('R');
arrayListOfStack.get(0).push('V');
// Stack 2
arrayListOfStack.get(1).push('J');
arrayListOfStack.get(1).push('N');
arrayListOfStack.get(1).push('G');
arrayListOfStack.get(1).push('C');
arrayListOfStack.get(1).push('R');
arrayListOfStack.get(1).push('F');
// Stack 3
arrayListOfStack.get(2).push('L');
arrayListOfStack.get(2).push('S');
arrayListOfStack.get(2).push('F');
arrayListOfStack.get(2).push('H');
arrayListOfStack.get(2).push('D');
arrayListOfStack.get(2).push('N');
arrayListOfStack.get(2).push('J');
// Stack 4
arrayListOfStack.get(3).push('J');
arrayListOfStack.get(3).push('D');
arrayListOfStack.get(3).push('S');
arrayListOfStack.get(3).push('V');
// Stack 5
arrayListOfStack.get(4).push('S');
arrayListOfStack.get(4).push('H');
arrayListOfStack.get(4).push('D');
arrayListOfStack.get(4).push('R');
arrayListOfStack.get(4).push('Q');
arrayListOfStack.get(4).push('W');
arrayListOfStack.get(4).push('N');
arrayListOfStack.get(4).push('V');
// Stack 6
arrayListOfStack.get(5).push('P');
arrayListOfStack.get(5).push('G');
arrayListOfStack.get(5).push('H');
arrayListOfStack.get(5).push('C');
arrayListOfStack.get(5).push('M');
// Stack 7
arrayListOfStack.get(6).push('F');
arrayListOfStack.get(6).push('J');
arrayListOfStack.get(6).push('B');
arrayListOfStack.get(6).push('G');
arrayListOfStack.get(6).push('L');
arrayListOfStack.get(6).push('Z');
arrayListOfStack.get(6).push('H');
arrayListOfStack.get(6).push('C');
// Stack 8
arrayListOfStack.get(7).push('S');
arrayListOfStack.get(7).push('J');
arrayListOfStack.get(7).push('R');
// Stack 9
arrayListOfStack.get(8).push('L');
arrayListOfStack.get(8).push('G');
arrayListOfStack.get(8).push('S');
arrayListOfStack.get(8).push('R');
arrayListOfStack.get(8).push('B');
arrayListOfStack.get(8).push('N');
arrayListOfStack.get(8).push('V');
arrayListOfStack.get(8).push('M');
*/
}
}