mirror of
https://github.com/Zormm/Advent-Of-Code-2022.git
synced 2026-02-26 07:26:51 +01:00
Renamed Folders and added Idea for Day 19
This commit is contained in:
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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');
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user