mirror of
https://github.com/Zormm/Advent-Of-Code-2022.git
synced 2026-02-26 07:26:51 +01:00
Added the Entrys for the Days 1 - 7
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 1</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>1671521328686</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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
ArrayList<Integer> caloriesByElf = new ArrayList<Integer>();
|
||||
int calories = 0;
|
||||
|
||||
try {
|
||||
//Part 1
|
||||
System.out.print("Part 1: ");
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
if (str.equals("")) {
|
||||
caloriesByElf.add(calories);
|
||||
calories = 0;
|
||||
}
|
||||
else
|
||||
calories += Integer.valueOf(str);
|
||||
}
|
||||
caloriesByElf.add(calories);
|
||||
file.close();
|
||||
|
||||
caloriesByElf.sort(null);
|
||||
|
||||
System.out.println(caloriesByElf.get(caloriesByElf.size()-1));
|
||||
//Part 2
|
||||
System.out.print("Part 2: ");
|
||||
int top3CalorieCountsCombined = 0;
|
||||
|
||||
for (int i = caloriesByElf.size()-1; i > caloriesByElf.size()-4;i--) {
|
||||
top3CalorieCountsCombined += caloriesByElf.get(i);
|
||||
}
|
||||
|
||||
System.out.println(top3CalorieCountsCombined);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 2</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>1671521328691</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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,93 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
int calories = 0;
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
char moveOfOpponent = 0;
|
||||
char moveOfYourself = 0;
|
||||
char indicatedEnding = 0;
|
||||
int scorePart1 = 0;
|
||||
int scorePart2 = 0;
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
//Part 1
|
||||
moveOfOpponent = str.charAt(0);
|
||||
indicatedEnding = moveOfYourself = str.charAt(2);
|
||||
|
||||
switch (moveOfYourself) {
|
||||
case 'X': //Rock
|
||||
scorePart1 += 1;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart1 += 3; break; //Rock
|
||||
case 'B': scorePart1 += 0; break; //Paper
|
||||
case 'C': scorePart1 += 6; break; //Scissor
|
||||
}
|
||||
break;
|
||||
case 'Y': //Paper
|
||||
scorePart1 += 2;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart1 += 6; break; //Rock
|
||||
case 'B': scorePart1 += 3; break; //Paper
|
||||
case 'C': scorePart1 += 0; break; //Scissor
|
||||
}
|
||||
break;
|
||||
case 'Z': //Scissor
|
||||
scorePart1 += 3;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart1 += 0; break; //Rock
|
||||
case 'B': scorePart1 += 6; break; //Paper
|
||||
case 'C': scorePart1 += 3; break; //Scissor
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//Part 2
|
||||
switch (indicatedEnding) {
|
||||
case 'X':
|
||||
scorePart2 += 0;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart2 += 3; break;
|
||||
case 'B': scorePart2 += 1; break;
|
||||
case 'C': scorePart2 += 2; break;
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
scorePart2 += 3;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart2 += 1; break;
|
||||
case 'B': scorePart2 += 2; break;
|
||||
case 'C': scorePart2 += 3; break;
|
||||
}
|
||||
break;
|
||||
case 'Z':
|
||||
scorePart2 += 6;
|
||||
switch (moveOfOpponent) {
|
||||
case 'A': scorePart2 += 2; break;
|
||||
case 'B': scorePart2 += 3; break;
|
||||
case 'C': scorePart2 += 1; break;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("Part 1: " + scorePart1);
|
||||
|
||||
System.out.print("Part 2: " + scorePart2);
|
||||
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 3</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>1671521328694</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,300 @@
|
||||
PPZTzDhJPLqPhqDTqrwQZZWbmCBMJMcsNmCBFWmMcsNb
|
||||
vplSlfdfGvfRRGsgNcMglsFWMWMC
|
||||
jtjvFHdjjwqrwqwL
|
||||
NSffhsNSjfLjfstsjtjNNjjqMqnpggHngqgHGHCgClGbCzCC
|
||||
dDPZZDZFdwFWwFZFWZRTFDwGzCMlgnpgCpnzglClHMbg
|
||||
DTPFZQRcdTVNhbjVbcLc
|
||||
JZLDcSZSpHHrrLrJcpzBRrhlzgRTmTmvBRmm
|
||||
qQsQMCbMQWqCVVvmTRhTTRhCRhTg
|
||||
svbGWPqGPNLJSpZnZpnN
|
||||
wLtPGCLwfWLflCPtPfLLTSbHMbSgMdtvDHghhHvdgZ
|
||||
nNsFznJcJqzFFszFqrNnRzdbZDDbRMbMdRHbMdgHvZSd
|
||||
VczNnjsrFrjcNprqVwTPfjGllWPQBBWlgB
|
||||
nnGtjFFjFTTTGtBGmWBTWffLcMJMQlzjQPCPcChCQDJzDJJd
|
||||
SSggbHVbZRgZsHZRHdVhzCcJhzhMzJhQPQ
|
||||
rHsNSsSZqqrNgpLLWmCfFGqGCBWm
|
||||
ZnCtCCVZmVBCQBWQnWQNCQMcLrMMgMLqLSwMSSDwjcBD
|
||||
hTbGJGfTbrSfScmjwj
|
||||
bbGGlTdlJTdGlFpdFvJdsbmdZWPWtnVCHQvtVHzvtHWtCtVN
|
||||
pNpCNFMNFhhwDgRVdSVqwgrdmJ
|
||||
nvHbPZtTHWbntTmdTRrqVRrdmz
|
||||
vHWPBWvntbWnHLHZLqWtBCjjhBNhCjGjjNjDNChlFC
|
||||
CnFbFzpzJbsCRpbRpbnPCnJLTtwQtjdtcttHHHDtDPjQwTHB
|
||||
qGrflmrNgvvmGqcdwrtWQHwTBHQWtj
|
||||
mVMvSclGqvNVMMNVsZsnJJRJsbzpSJpJ
|
||||
cJTcRllRldjZlFcbcFJrrvqCCVTNNVWSPpQNmpQqCPVC
|
||||
wGLBfLzgBfzHGGGnLDGDGgwHqqHmVSWqpQpCpQRWVWVNpS
|
||||
DRshRBLMhZlFZMJvlJ
|
||||
SdGbmRGddMcfbWWSptssDHssGDNsjCCC
|
||||
glPLTzczrCpNNsHTst
|
||||
gqcZJPrBlhJgPndMVJbWMVfnWV
|
||||
qNbmLmndBQqjsCPLZsLPZz
|
||||
pwfhfCvJvvTMGzSjzPSPjcZp
|
||||
VvvJVMCrvTRwgvwWvqNmqblNHtBWqQWlql
|
||||
WNJmddmpFmMMrnlFddlWTHCHBRcnCBTRzTDRTwTz
|
||||
qffLvLLvbqhqPbjbqRGPSqVtPDTTwTwTDzCBCccQczssCwcc
|
||||
tfhGLhqthZVhbfpFRJMMMrJrZpmZ
|
||||
VVgSmdqFpMddqSfpfVVWQvzTPvTWPrpsQPQQJv
|
||||
ZCnRCDwRWCPrTrsW
|
||||
HwRNLLsnHRNjtRSqNqMmfqVVMbqg
|
||||
slqwzGvWqMsvbmTzTCBhhBhgcgjbCPCchc
|
||||
tJVJSZStQdMQSdntJHjFNFPCNpjFCPcFFdhB
|
||||
QDrRVZSnrQDVVRRtRHHWGmzTDDqMqMfzwswWsl
|
||||
rFBrJFcrWHzCLFHqSg
|
||||
PdVjfjlGPRzRGtGLRC
|
||||
TQPMpMVPDDPfPTMMPpTWWrhbcbTcWbzzcsmTmb
|
||||
ZDQDZDJNqqNbwQPgtlGntHlVGlPPrf
|
||||
vhmChcgvMCdvzCvvHfdntBHGBldrHBVG
|
||||
cCpTCLvmjhpjzSTTLSpwbDqjJQFZgNDwJssFDw
|
||||
LfMFLwMwdrFmWBJD
|
||||
tVlHqqVTHRtmQggrjQqDJg
|
||||
VDntHnDGRntHPbLPPLLZhcsLPLww
|
||||
FBLddLctDQcbCLltbdCRdLQVNVDjnPHVnsjnPqVSHNNVTP
|
||||
vGmwrZZWJpfWfmvZgZJjSTPqsTrVPTrHTssNPP
|
||||
wNZJffhNWmhvMhgwMZpvNJtbQRtQQLdFhbQFClLBCBlc
|
||||
npvSWJBCDDBBDSvCZSpJdsTZsRhTdgMgPdhqHHqR
|
||||
bjtwqLrtmfmtLVjVLQHHHdgwTTHMssMTGHhH
|
||||
VtmVVNtqlllpJvnnnS
|
||||
nCqrnLSSGnpjBjBGbcbPbB
|
||||
vfdVdtdgMMrFgHfHPcBcPBjwQDjFbwDB
|
||||
zgHWMmgHmWfWvVvRRzLCSCJsZNpJZSsrnssW
|
||||
bBjWlfrrnClSssMMFmVVhMjgMpLM
|
||||
dRDqDdzQrDdhqMMPtVLgFL
|
||||
THDRwHDNDdQdcDvTcZbBGBGrZZnZcrlb
|
||||
jgSVPVsVmshhsCQm
|
||||
vmFtcDBfDFLrvTFZvLFvWzWhHwCWHnwHnCQCcwnq
|
||||
FmDpFBmZZFrDbDfDtmLNgMPNGdPjRdPlPPpMVN
|
||||
VVJGdSHZnnHdgFntcschhccvvPvtstPq
|
||||
mLNjNQFBpPlPvNqs
|
||||
LMTMMRDwwMMSGZzRnnGbzF
|
||||
JFFfVrvVmHfGmHFvmrSQBQlSJLlShLlgBqwJ
|
||||
DMCdpCbtgbcCCNpbCCPgRqdldBRQRBRwLsBSLhQs
|
||||
cgbcPbpcWDWjNCZDWWZttDDGrHzznHzjGzmHnVjVvvVnrz
|
||||
rtGTmSTGNtvvgfNGSbfwWWvJqwcDwwJPWcwWqD
|
||||
lZhdHzFhLZhdBcWsWsWmwPcFqW
|
||||
BhhjLzhZCCdhgCTtCSMmMrbt
|
||||
FrzSRNrWNFdNhcRDDdrFWCVVZZZmjJbJSPlllgllVbgT
|
||||
nQGGHqvHMVVpMLGffqtwLMtwlmPbTbjZPJmllLJBmZmZlZbP
|
||||
VMvvpvQttHqnsvhhzhdrcdWNchsW
|
||||
BzRTBbWVQNdngtDFVprDFrpF
|
||||
vhfhSJvbhwSpDDFZHfMpHp
|
||||
JhmvJsLLJLJqmsJLbsGGjvNRzzBcTBNlRNmnRTQdzzzn
|
||||
vpCLrTcpRmncrncLcnccvLLNWVsRbhbtsQbJbVQWtWlWbW
|
||||
PfFfdjdSjPffMFsQbNhlFssFNQ
|
||||
zBDsjgfZHczLHTHC
|
||||
BnvpJnVgPWJzczpnvnWVWRGTrRTGmmBhRmBmThrmrf
|
||||
dNlwjLNLlbLSjLQVdLdjjSTRHmRmTTNmmRRtfTTfhThs
|
||||
FSSSqbVDQZzzPPPFZc
|
||||
fTTrrBqwfDTWfTDrRNrnRjgPSpJPnnmp
|
||||
PvHPbsvZlMtbbvbCLLMHtHZZjtgJRjSnJSpSpjRgRjggSRmn
|
||||
VLHbCbVPLZvlvMhHCHlPHbLCqQQfdQTBddTWhDTBchQzQwBW
|
||||
ZBHHfHWLfLqjfLjHZBSDwHDWhvpFCQqNpvVNVNQCFPJvPQCF
|
||||
zMrtclbdvFPSpdFp
|
||||
rGMMnnGgsbzblRnlSrzSgRRDwLWjLjTTDBZmfLwZmDBf
|
||||
rfJVfnztTfZFMfZq
|
||||
cRGcdddPRbHvHCRHRmShqFrPSTmTPjSjZT
|
||||
NvRHGGdNLrNJsDtL
|
||||
dgggppRqnlnjbbjRwzmtHb
|
||||
ZTPhrVvMZhrVQPZNCMZQjjbFtjmswwFtzVmLGbmL
|
||||
rZhPCPPcNPNTMfvZPCvhMPSBpgSqSqfpDgJJggdwWJgg
|
||||
TsgFbTQSZZsSJFThhggQFshpMSzRRRDPwwzPwDftRDrczLww
|
||||
GCmnjCNjmlVdHNfdGNjMwPrrLwLcMcrcRHzMHM
|
||||
nmmBnmlWlVWvjnNlpfFQbZsFpQhgJFpB
|
||||
jfpdTTqqJpDfQrscgsDh
|
||||
mNFmHHtVsVQrsllG
|
||||
CmFtZPHNzzpBspzpLBqw
|
||||
RsgJsjsZbTjmZZMMJPtCSPPDhCSrDhrjhC
|
||||
lBwzHLQddZlLQnChGdtDhrnqhq
|
||||
fLHpNQQpwvHllQVQHNNfHpzZMFWbccmTcbJMcFsWTRVbsTWF
|
||||
DhHFMRDDmLmshTmSCpSWZVNHtCCNnW
|
||||
fJJPBvlvlBflQQfQtNWtQzpSWZNtCZpN
|
||||
vPJbdvBfqhqhShTFMs
|
||||
lttWShphLtWWGppCQLlwZTHZHmfjjvwvHFmw
|
||||
MFNssMMDVzrrnTmvJTHwJmZmZr
|
||||
MsBznNznRgzzncFBLQQGGBBtdhdGpWPp
|
||||
JFmvMWBmBlbBCZrZrH
|
||||
DjRRjgffgjqwsDqrcHNNbCZbCbbN
|
||||
sSffwRVjjDVzfjSjswDSQLdPrvGvFMmMJMMJmnWzGL
|
||||
RbvwgbTVgzGTrhvWDmNDGJfCDffMmNBD
|
||||
PjSlqldccqFLSqQLCpJfpWDCcCJZBpMD
|
||||
jlHdPlqqSnjHggWgwrhzRz
|
||||
WsJnWnmCJpTnLWmJLCSDVVmhNjRbrDRgrgZRhrjrhhgdZN
|
||||
QlFfQBqlBwBqBffMFPsbgdgwsrZjrPNrNs
|
||||
MvvvlHBcfBtvffGBcMqqqLpmLsJtpSLSCWCVCnnTzJ
|
||||
QSRRwSWPhWhwwHbtsNGZNRNZTgRcmc
|
||||
nfvDCrnnDvJJDDVMLNgtsZmZsVtZGgqmGp
|
||||
nCngDlFfvvJLnCJJLMFMClHBBzQzwzbhlQHHPllbBhdb
|
||||
qNFzGFFFnGGDJnzSdFdzjdvmCvzPzzRmgCmMmtgvcmtV
|
||||
sQlhpLpWQQZpQZpQrBlLsLLCRggtMgVbbtggBmVVmbmBVm
|
||||
ppQHRflRSGTdHSGN
|
||||
BgTnWbbwPgPWgPGfGlWfdFFFlsSF
|
||||
QvDNDZRMjCNZcHZZDQFShGFpBhdRsGpLsFRd
|
||||
rrqvNcHjBcJgrTzbPVVz
|
||||
pCjdsSdCljdBlpJpdmjHFHmDfTDTwgfgcw
|
||||
WQrWnGzhNZzWfcnHfBwnvwHc
|
||||
RLGNGQhWZhMrZNtBpsLPsVJbPLVb
|
||||
TRDDSzNhHNHfSppCCMZsMMssdgZvfZ
|
||||
GbGlctGqrBqVtrtLGtmqTtssPdMZcCZMnMvCZgdddgsP
|
||||
BQqbVVVqLtBqWbTlmLBhQjFhJDRpHhzpJSJDNF
|
||||
FTHTnPSmFqSPCTVDhZRCZDhjDRsV
|
||||
blbLcBgMgMlrcLMbzrlBLZjRVsZZfNVfVfJsbNqDDh
|
||||
tLtLQgzWMzSnHmPSWdqW
|
||||
DnwmFcpmpGqFwCwmfCDMZsNVVMdlVrsNsczrrl
|
||||
ghtBPJbHtWPbJPdBSPMzsrTTzZMTTMSNzrVZ
|
||||
bPdjjhtPPJjjBQJJdbhRgJhLCnfLGGmLnGLpLfDRGGfpqG
|
||||
HzzZZjCLjjZCmVQppssbGpmcTGgp
|
||||
nMnJPqJlMPqBJllSJvlMSDGGBcgBcsfBhTpsFhgTTfFQ
|
||||
drSRqnSqJDcSJrMJnRvCHtWZtjZZrHtVjrwZLj
|
||||
mDJjmQggstPvDWJgQWJgPPmNFFLZpphZNlNpZLhSLvLZNf
|
||||
rzzfTczCzCdBwddcCCHFpHFMNHZSHMFrHNFp
|
||||
bcfzdGnCtVsVtsWn
|
||||
CMfCfGfwbMMLdTMH
|
||||
lqzDgLWqQWhQNWnlQqHTFFFFchbddTRbSddd
|
||||
WnzDNZmPZmgglNCrvjrtrLffrJZJ
|
||||
BllCMzjjlBHCCllHvljCMhbrQbTVTrvprTqrFWFFvF
|
||||
ZNwfNLRnfwtRtNwqThVFpwWVJrbh
|
||||
LnRnpNRSLcpZZNtmZmjgGgGMPBHCmMzsmsHM
|
||||
MRMPpwWTLMMMMLLRMPbvfQZCnqQnqvWZWGqGDQ
|
||||
gJslgmlmSZqssGGbnV
|
||||
mJFSmmjcdmgJhdgrdjcdjwbRwpMwpHBRHrztwtRMRL
|
||||
CccctqnQVvQcrsFwznmnrBrs
|
||||
LLPThTSjPdJjLTtMBrsDmbbsBwbswGMF
|
||||
jLSLWPLlTlgSlgSghdvtQZvqvWRcCpHVCqWp
|
||||
DmggMZCDbdNrttnbPn
|
||||
cclqSqGjSBwLqswNrFNzffFfNPsCsd
|
||||
jGpLBcwlQBSpLjSQLvjRTZHTCRRDggRTHhmvmV
|
||||
LWzrnwZFnzQlWQZndWFNvHBNDVBBNjplNjjVvV
|
||||
RCSmPSCgsgTmCRqnsTCHvjJJpvBBSVSMpVjVMJ
|
||||
sfgsRGnRTghQWWbLwfhF
|
||||
JnJlTnDnwtWHMdJt
|
||||
phNPDPVvPcPPvMRqVZRWMqRRWM
|
||||
fGGScQDfssQzLbgT
|
||||
rLVVdSSvVzQSRnzSRRnBQMJqDTjMsMsMqqPPhP
|
||||
wmbWWFGVlGfptbhshsTmhqDPJJMm
|
||||
CbWtWlCNpglgbtCWtFHdvNHVZnZZVnNVHHcc
|
||||
qtRszqSZVnTCVwwLJpcgppLHqp
|
||||
MPvBGNnDWMGMPDvGBPvMBFvpppjHwHpJJJJJFjjwLcjLJg
|
||||
hBfPNvGvhDnvMPdslCZCtVsRRCSZff
|
||||
HgvgvLNDcCcNBPDDvNNBzLNBnnhQqwRnRLQhWRhhWssqsnZZ
|
||||
FlfprJzttrrTlGpbJVQhRwwbnbsRWVnZss
|
||||
FGmdJrFdJddmjFfTttpfftlDvHSDgCDHgvSgHPcBzMHSzj
|
||||
dgHhCJbBbwgNcVzlvzvzQVzH
|
||||
RZPjRRRDPnjrjSnfFrDsnvzWVlzLfGzvBVWccclcGl
|
||||
nDDZPjjRnZmFstnZBrsZgtCgbtMdqbJdNqMdgdwg
|
||||
LvdrGnDBGBGrvrGLJtdrmmcfClqllsqlmjsLmcQC
|
||||
VpbwbwTSVVwpzZMRSVmsjDqCclclNZCjNjQq
|
||||
PpzWwRMwTwFpwtJBHnhtdnDvvP
|
||||
GCJSClmwzmSgrpPpSpgcrS
|
||||
bjLpsspHMHvBTsDLjTDtbTBFRFrQQQPcgQgcFcFPcFcnPs
|
||||
pBTBvqBHbDjHfJqlGlzWJGllWC
|
||||
GgbGNjQGzzQvFcFfRFmFJbff
|
||||
pHDSLLCqpqppPZVSCSDdncRFwfmZcRWRJfncmRJn
|
||||
LDTTLSSDSMQgvNTmzz
|
||||
bLjgLVlJnjSJjgLgLjqqMcMfddftcCCnCccfQfsC
|
||||
FRRmphNRmmdwPHpBPswDftDzMCfMcfWMMC
|
||||
FrvdvrPPFHhNRPvFRmFZVbggqbGjJglJbjjTrVjJ
|
||||
cSpdczpfRQQGNGGqvGHv
|
||||
wPwFPhCFWbbmChwWmhFPsWrsDVwqVqZqvVVVvzGHDZqHqtZz
|
||||
gbPznCbPmmWrWbWhJRpLnLRnTcScRSSLBd
|
||||
pfwbrjTbDczbzbPcwTQbvWdWWTdddSldVHWSgHgn
|
||||
mQmFQRFssJJJJthtJmBJmCHMdlWdnlltnHSVlSlgtnvM
|
||||
BJBhRhRqRLRJNhJhBDwjzPPPcNQZrZrzDr
|
||||
HTHwQJzwLZNcTwJtFRFHDtFvRFRFdr
|
||||
jlMnMlbqqpMBvsWBVGRRGdSVgrDthFDddh
|
||||
qvMjjMMpbPWqmMjnlpplpnWscNwLCQPzQLfzTzcZJfLQLPJz
|
||||
gCTHTVdPdPvFfdCCSScZSZncMMCGGM
|
||||
LNqLlssmWlLqzBRzWBwWBRRZdmJZcSSQDncnJtQcGDDDMd
|
||||
jszNLwNWRRrzNbhbvHpdTjdvfH
|
||||
NgDWhQmhfFlWFWlzDfhpBwfPBBdwwBJRBPqJJB
|
||||
HHMCcHtGcMMbSGjScMGLSsRnqdJJlqqpCPJBRpBRdp
|
||||
trMtLVtjjVtjttGctrLLTlZmgFzZTZzZNQmzZDNFhgFD
|
||||
MBMtFzBnzSJJttSZBNNZfTsPqTqqqNZNPc
|
||||
LlQDQLVCwCDbfRCmRGVjCwLLcqslNcNPgqgTPTsqNNsvqHqs
|
||||
RfffRmdjnnzpndtr
|
||||
nzpnDRDVwRRjVTSlTtlSSCQLDC
|
||||
vgZHFBbbfCbvFbrFSSTqqcGtGTtBGQqS
|
||||
HggMfPfbFZbPvNvgZZdHsnJjCzphzVwJjsmpmjMw
|
||||
FgvgrgDpRDGTTWVDVd
|
||||
zmbnNhHHQHshhhcbnHnnbBTMBMLLWLLGMqWLfzLLTV
|
||||
mnnQHjcHHJmnNcHnnhmvZpRrCVZVZFrRJZVPFr
|
||||
ZhpVhCSHbsCPbnmF
|
||||
GBWGGrftTJlrfttQqsVPbPnGjDszFVncsG
|
||||
qfMlQJWBrNWQfftqrQqBhRvdVVSNVSpZdvSZwZRS
|
||||
mfzRQqMrtCwLMMZM
|
||||
sbVbWgFdJCldtNRPNZ
|
||||
FpggcgsjJccJVJJJcbbWWGrHnfmBnrHzfnfzvqrQmpfR
|
||||
rWvbrfLnHHnzlFrFWWzJfRQQTwbwRQmQQCgQTwQBwg
|
||||
MPsqcZpZdpjGMptpqCSsSwRNjQTBhgwhmgwgmmwgBm
|
||||
SZqqqCDGMtpMFFDvFHfJlvDJ
|
||||
RZnrZLZbLjRZwdlrnbLClCHMNCTlMMWBPPTHlT
|
||||
SDgDzQDcfzJBNPssWCwSMN
|
||||
fpQJwmmQmjhjGRbr
|
||||
jQzqvLzvMTTQMMSS
|
||||
VJlSrnBRZbbJbVnWWBlVWRCSNTMppMBMmmNPHMcNBmTMGmHp
|
||||
CtDZJllRClbFzLtszhqFqS
|
||||
VwcwzBdmMzJSdMBzzGndGSmlbqbgZgfblTJrTbrqZbTlTb
|
||||
tRDvCvCRDCDWtPjCHjvDWTgZLfNqclZTTrNfZtLbLc
|
||||
DDvPhhRRvjFjHPRjvVdMwhnpwBSGcwSGcc
|
||||
LRtLJSNLdNLjNLRRNdRzVmVrggWmmmpVmpVvBBWFvm
|
||||
wqfZnsMnhCnlfGPCCqwphJpWrFHBWHrvTrTHTH
|
||||
ZsbGsflwGtjJbzLLjt
|
||||
MjdFCjzsQFJQjzbmWHHLPPTfvsLfPZ
|
||||
cNgpBgplzVvPTvmLPTVm
|
||||
qNlqpcNtBzjQQCQqJjwJ
|
||||
cczNGcgNhztlGPCCLDpBSpfVDpCJpSpBWs
|
||||
nFqnwrRQrHnFHTMnZqQwMnmFsVsfbSSSJBSsfVVDfWVBWbVm
|
||||
RRFZFMHjrQMjrHZqRjLdchdGtGjzDLgtzN
|
||||
tzFmNfFNmFclrffhNtNlDWRSdFWnJCnRvRjvJvjD
|
||||
LMgZgpZLMpPPPVPMMPbjbndWJSnWbWHWSCRbJD
|
||||
BLwMpgMPgwQpTgTTpMVZMTftcGhhhtrhhcGGzQhsllCN
|
||||
DWtHFWDHtwsWFHWDWwQblVgnllRBnjvBlVjRVbll
|
||||
TzChCMGfNhZSLhLhzRRVvvjmczRgvRmv
|
||||
pZSGpNJhCNGLSNLfMGJfJJQFrDDQDqHHgHpsWPFDttQW
|
||||
qqccVQZWBVfjzzPVDMJtDtNccCgmtCCm
|
||||
lvBRHBRGRDDCRmnmbD
|
||||
SLFpGTSsTSsLFsHGvLvdGvdVwZBzZqqzjdQdZjVfrqwW
|
||||
dLLwHLTWwjMLRZHCHZglDvjgvvNNDssSsmmN
|
||||
nPfJPFbnhMJQfnpJGQJfQBBVssglsmsVVmBDsSqDgvNlgv
|
||||
FbMrPPhrtGbJpnhJpJFFbbpJcwtdZzHZZwHCZdwctzTLcHTw
|
||||
hCfzfLVbShRwRlBjdzmz
|
||||
JZhrMMhZgvHFHJnHGgWdpmpnmlpRwBndRBwcBj
|
||||
rMHFhgHZqtGvrWsbPfPNSbstTffN
|
||||
dSwQQdSlHtlVQtqqrMZbFBRnBfZRMbDwMw
|
||||
GTpcgLcvWvGvJzGpZGJpWpfmMWPBmDPRFPMFMmBfbFFW
|
||||
hpcGhTCsGspLchGGzcpvZNStQHSSlNjjtlttlQsq
|
||||
nJlhHlLlJGlRnMSsMLsnsSMwFHgwrTBFFwjBjppgpqfwqf
|
||||
QmzzmbzNcZQQzDVZDcZQNDtzRqRBFTqTjjwpjBBNRrpBwfww
|
||||
mvQPbQtttVVDzvzmRWCWLhSSslvWLGlW
|
||||
nSpdSDPpRdrNBhMBMSJJ
|
||||
bzCTcwzbczCZswMssczmCCgcqBmrQrrmBmqJBVBVNtrVttrq
|
||||
cvzscgZzwTCsWsZvwTfzljDHnflMGMMndHFDdRPp
|
||||
sDDnzLVnsMtjnDgfSSbfBjggbqBC
|
||||
rlrlcppWcGdPrZNccJrSBSmCHqbSqCbSCgCHPq
|
||||
NWcZgpFFgFpDFnDvtMDFzz
|
||||
ZpczTjpZcnncHFDn
|
||||
hSqqJWWWRRhlnFDVSFnQCB
|
||||
qhNMWfqfMhJJRLRvppDzNZTpPTvwwD
|
||||
rbSDCwPWwPVcSHcwHspNpNsddszmwGtswN
|
||||
vBBfgQvBMvMvjLLlllqtBTNNTPPzTztTsRNPTt
|
||||
vvQnjlMjjjqJqQLSrcDcPWbcHbDrDn
|
||||
BphwqbwNsjsNsBdDjjhGpsGWzMMTWRTCflfDWSSzfzSlWf
|
||||
cFnrrHrnZVZQQvFFVvZhRzTCWlSRMSWhZMWt
|
||||
HvJVvggHvVrmQLqmNqLBbhsssw
|
||||
NcBqSjGGBjNbZcHwhRVHPwPwPlZR
|
||||
TvdtdtvFgHwWgdhn
|
||||
tMJFTvtvFtrLJMHBqNNBzjrQcjqNmB
|
||||
RrQfLfQvMFdQvLLQVfFcnbSbnwVSnbDslsbSDzDD
|
||||
PHLjmHqqZCjPglsbwJbqnDbbJl
|
||||
LNHLhjBHHGRfphphrtfh
|
||||
FcdMchqcgdchqcfcNWWghNrRrVRjGHFjDJmGFDrRVGJD
|
||||
zQtvBvtbQzpSzBptzbBznnwZJRDRVmVnGRGrDrHjZGrr
|
||||
HLspTpQLBqWqLqcNgM
|
||||
rnqbSSQhsshFqQQnsPSnhbnrzHzzHLNvLHCLFCvVJTlNLJTz
|
||||
fcffljGBwgmwwftzNdCCdvLvtHNLTH
|
||||
BjWgMGjjWZMwjjgwgMWpwPlnnqSnqQhnrbPMRDsqQs
|
||||
hRJhFdNJcrbqbbMF
|
||||
qZlTTgTvlHnqvllPssQrgQcQwscrQMsf
|
||||
CClpSnTllZnZCDLHnlNzGSRmRthVmmzqJzhd
|
||||
DLzSMtDLtzmmlDlMlMDbcrcTDqFvVvVqqTbD
|
||||
dnZshHpZRChgnszRwRZCpTqqTcwVqFcrVqcBVPqVTr
|
||||
snRRRdJsZgphCWlWtmJSjWWzjt
|
||||
@@ -0,0 +1,92 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
|
||||
//Part 1
|
||||
System.out.print("Part 1: ");
|
||||
|
||||
String firstCompartment, secondCompartment;
|
||||
int sumOfPriorityPart1 = 0, sumOfPriorityPart2 = 0;
|
||||
char sharedCharPart1 = 0, sharedCharPart2 = 0;
|
||||
int indexOfCharInCompartmentOne, indexOfCharInCompartmentTwo;
|
||||
String searchedChar;
|
||||
int stringCount = 0;
|
||||
String firstGroupMember = null,secondGroupMember = null,thirdGroupMember;
|
||||
int indexOffFirstGroupMember, indexOffSecondGroupMember, indexOffThirdGroupMember;
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
stringCount++;
|
||||
firstCompartment = str.substring(0, str.length()/2);
|
||||
secondCompartment = str.substring(str.length()/2);
|
||||
|
||||
for (int i = 65; i <= 122; i++) {
|
||||
if ((int) 'Z' < i && i < (int)'a')
|
||||
continue;
|
||||
searchedChar = String.valueOf((char) i);
|
||||
indexOfCharInCompartmentOne = firstCompartment.indexOf(searchedChar);
|
||||
indexOfCharInCompartmentTwo = secondCompartment.indexOf(searchedChar);
|
||||
if (indexOfCharInCompartmentOne != -1 && indexOfCharInCompartmentTwo != -1) {
|
||||
sharedCharPart1 = (char) i;
|
||||
sumOfPriorityPart1 += priority(sharedCharPart1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Part 2
|
||||
if (stringCount % 3 == 0) {
|
||||
thirdGroupMember = str;
|
||||
|
||||
for (int i = 65; i <= 122; i++) {
|
||||
if ((int) 'Z' < i && i < (int)'a')
|
||||
continue;
|
||||
searchedChar = String.valueOf((char) i);
|
||||
indexOffFirstGroupMember = firstGroupMember.indexOf(searchedChar);
|
||||
indexOffSecondGroupMember = secondGroupMember.indexOf(searchedChar);
|
||||
indexOffThirdGroupMember = thirdGroupMember.indexOf(searchedChar);
|
||||
if (indexOffFirstGroupMember != -1 && indexOffSecondGroupMember != -1 && indexOffThirdGroupMember != -1) {
|
||||
sharedCharPart2 = (char) i;
|
||||
sumOfPriorityPart2 += priority(sharedCharPart2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (stringCount % 2 == 0) {
|
||||
secondGroupMember = str;
|
||||
}
|
||||
else {
|
||||
firstGroupMember = str;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println(sumOfPriorityPart1);
|
||||
|
||||
|
||||
System.out.print("Part 2: ");
|
||||
|
||||
System.out.println(sumOfPriorityPart2);
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static int priority(char letter) {
|
||||
if (letter <= 90) {
|
||||
return letter-38;
|
||||
}
|
||||
else {
|
||||
return letter-96;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 4</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>1671521328698</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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,51 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("Input.txt", "r");
|
||||
String str;
|
||||
|
||||
int indexOfSeperator = 0, indexOfFirstDash = 0, indexOfSecondDash = 0;
|
||||
int sectionBeginningElf1, sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2;
|
||||
int countPart1 = 0, countPart2 = 0;
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
indexOfSeperator = str.indexOf(",");
|
||||
indexOfFirstDash = str.indexOf("-");
|
||||
indexOfSecondDash = str.indexOf("-", indexOfFirstDash+1);
|
||||
|
||||
sectionBeginningElf1 = Integer.valueOf(str.substring(0, indexOfFirstDash));
|
||||
sectionEndingElf1 = Integer.valueOf(str.substring(indexOfFirstDash+1,indexOfSeperator));
|
||||
sectionBeginningElf2 = Integer.valueOf(str.substring(indexOfSeperator+1, indexOfSecondDash));
|
||||
sectionEndingElf2 = Integer.valueOf(str.substring(indexOfSecondDash+1));
|
||||
|
||||
// Part 1
|
||||
if ((sectionBeginningElf1 <= sectionBeginningElf2 && sectionEndingElf1 >= sectionEndingElf2)
|
||||
|| (sectionBeginningElf2 <= sectionBeginningElf1 && sectionEndingElf2 >= sectionEndingElf1)) {
|
||||
countPart1++;
|
||||
}
|
||||
|
||||
// Part 2
|
||||
if (between(sectionBeginningElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionEndingElf1, sectionBeginningElf2, sectionEndingElf2) || between(sectionBeginningElf2, sectionBeginningElf1, sectionEndingElf1) || between(sectionEndingElf2, sectionBeginningElf1, sectionEndingElf1)) {
|
||||
countPart2++;
|
||||
}
|
||||
|
||||
//System.out.println(sectionBeginningElf1 + " " + sectionEndingElf1 + " - " + sectionBeginningElf2 + " " + sectionEndingElf2);
|
||||
}
|
||||
System.out.println("Part 1: " + countPart1);
|
||||
System.out.println("Part 2: " + countPart2);
|
||||
file.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean between(int variable, int minValueInclusive, int maxValueInclusive) {
|
||||
return variable >= minValueInclusive && variable <= maxValueInclusive;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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');
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 6</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>1671521328710</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 @@
|
||||
cdhccdbdggfjjgssjzjzggjnjpnpbbzbnzzflfjfnfrrpvrvbrvvrvggvlvnnbrnrcncsnndbndbnndbdndfdrdvrvvndvvbggnrrnbrnntffgttwzwnnmvmcvvhsstzzlnlwlttbzzpnpmnnjvjnntmnmfftwwrfwrwswmmfrrfrrgbrbffwvvshvhrhmhththbbmqbmqqlslhssrmmqdmmjtmtmjtmjtttnwnvwvqwqjjnbbbdbqbnbpnbnllglcglcgcdczdznnqhhfthtmtlldqlqrrmddrldlzdllvddjcddqfqbqsbqqnllwppqpqzzrbbdppzsppjdpdqpdqdfqfrrwbwrwwqcqcsqsvvpbvbbztzptzzpccdtdhdffvqvcvzzmwzwddjfdffplplqlvlmmmvggpmpvpddpbptplpvlplvpvvnrvnnbqqqjhhwfhwfhwhqhmmpphqpqvppfzpzjzddgzzwffjmjggwhwwnnmlmpmmhcmcpcrcddvzvpzzwnznfznffgdgvddvtvgvsvdsdbbjnjtntbnttgbbbvgvgrgrzrvzrzddlsddcndcnnfqnnmpmlppdlplzplzpzgzmzmddlvlnnbttbwwhbhdhfdfssjppmcpplpdddnpdnnljlwjljsjnjhnhvhvqqsffrbbdttjdjndjdwwsfspffnhfhhlvhvmmqjmmwzwszwwvdvpdvdbdtdsdtsshvvmtvmtmctclchccrllznzfffpjjvhhdmhhvphpghgsgmmhlhnlnmnlnslnlgngznnsqnqddllpwllmzmjmttptfpplglqlgglgqqptqqmvmtmjmddcchbblltslsvsmvmgghmmccnzcztczzmnmttrdrvvcvzvvzllbhllnldndbbqffbbgtgddbtdbbzttdptpccjnjppbllbzlblrlcllhrrhqhgqqbcqcvcdvvnnzfzvzttrptrrwmrmlrlddvttdbtdbdcdvccwlcwwhphmppwfppclpcllgqgnghhvfflfggrzrcchfhhrdhrdhdnhnmmhjjwqjjpmmwvmmdnmnzzqmqwwmtthtdhtthnnqhqdhqqndqqwffsbspbptpmmndnllsmmdhmhfhnhjhghshlslppbgpgngddlsljsjmmzqzhhswhssfzssfqqcmqcmqcmmqggjcjvvgssrccwddmpmwwdfdpdbdpdwdvvqfvfrvvvsbvbhvvmqqcjqqvzqzppncnhhqnnpgplpqqpjpbblpbbbshsthhvfhfmmqzmmznnvrvqrrwdrdlrlwlttzqttjvttqltqqnfqqqwjqwwqttfstftjffsqqnhhnsnqqhggbsgghfgglslmssqlqhlhthqhccdsspsnssshbbnmngnnhllwclcffqllsrszrssnqsqvqjvjcvcttqgqbqmmfqfsqfsqswwvcvffndnfdfvfcvvggsmsfmfwfpfwwzhznntgtlglmmlfmllwrlrwwhcchqchhznzjjcdjdbjjhcjcscwwlnnsgngqqtgqgngnwgnnhqnnhchmchhtchcnclcmccgffbmmzvvrnngwwvddzccnjntjtwjwwztwtmtddjddpsptpbpbvvbwwnlnmndmnmdnnclnnbsbddpfdfvvjtjqqtqqqzjzlzqllzzwwlppvfffpcffffprrncnnzsnznhhwvvqhqphpjjgqqvnnmdmqqglqlblgglrlsspscsjjpvpbpjjwccslsppdjpdjjwvjjmhjhtjjwqqbqjqzjqzqpqbbswwlssqzssbjjpjqjbbjcjpjspjssjjzhhhnjhnhbnhhwzhzwlcshqlqpzgggzmcwntcwmfgtrwwjdpnbdqqcgnzgbdrzdmpwgvtvqffqbpvjpjrcfswffllnvnwvhclpjcwqwgnwqwvwsfgflrgzzsswffwjdjgvdvlgmczcbthwbvhggwzwlzfmhvwvjpbpnhcczbgfhhgghsmjwnvnsvnvmqwstrgnncwbqgbqpgdngllcqnzgwswpgtwzgqzggnzsdgltrlqfctqfvlzdswccfpdtjbfnrbqsmpjclnplbmqbmvwbzzdflwbqrljvzjpcrmnqsmrpqlmfsgcmthqpwgwzvmrjnhqczljcpnzjbwzrhjrzmcqpmlbzhgmqrlzsjbjsvcmcngptzlrthwsrjrlmsrgjlzrvpzwmprwnpgvjtspsppfvwfwcvbnqcwwmzlbqthqmbnbmnsnzgsbbnqtrvhlzjhphclpjzrdblszrnftqgwwrhpznhjhgrncvsvrmtmmgssvzddjfrnrzhbrqrfffjvzrqdnrdbvjwgrvlcpbncfgczlwdggsjmwzhndcdbggjvwfljctjnsjwczwfdrfttbhnlswfdbpcnwpspdhnzwqbgdswwpccbpfpgmfmvvwpzbzqsbbjbfnhjpszcbnrdplmwtdjtpcsztdjcmczltnstzwlcdbtdhsdgsgtlvdfqggfmmrppjfrmtfwhpbjsppszjbhmthndqmvbmqcbtqsltwrcvlvblwspbgspjftwllzcmnsrvjpnstzrfmcflnhppsdfggwbzvnvlnjqlfvrlplnzvfrwvgcgqvnpfgtgchctvhcplclzmfpwgnfhqjgglfmsgpflqcpqmbbhwnvvdllcnhblpnndbdtmgvfbvvvlvzlrpfqmnvzbfrssjtlgcjtpfznshvdjrjnfshfcgvwcdbqlfsbhnzwmsgwhpbzttgfjsqgwvdmbdwjljhsndrbbzfrsqjhcbldzqpmtnfvnmzltjcrvrltwshnhqlnclmcnfpbzstsczlqmfmdftzfbcwqnhqppzfbzpbfjhmmtvtbmblmtshsbtjlvsqvmbmgstbbdmhprqmtpfdqqntmnlbmpsmwfgrvstjcllhwpcddnljdjvdrbwqmgrjnldpgnrhgqpzqrvwzsngrgnbpjnsffzjsbdptwnnfcqlscfhvggpfstsnqzcjbqqhgdpqsrlprcppgqmddpqpbnvgwtdqsbbgtvsqfrtqfsbdzhsztfmvwrrsjcbtcjgzrnhnpgldtwbwgmwbgmjjzsbbzlhgmlczrhjwtzrgwscmjvlstprldhglvftqzbtrmcwzgtjppbnjcdvjvcwvdbngnbrmjvvtnwdqfclbpgzcfnnnlnngtgmhsqsdmbjctjzjpbrwrhscqshmmwbtfnzjgsrjlnqqdsvdrjdzsdprphnfmwwcztqfcrjvnfhlvnqwbrfmcvhrbtgvcrqjjfcnzwmlfzzdcbbzvphhmsdltwjfdcgthpvszqzjdbfwrpvhbjqdhrscnvjhjvvcldnhgjclmzpbrrwnscgpcqrpdgsnjnwhctcdqgwqbrcszfzpmtdrhlftvwffdjrtznqrppqbdbwvzmtlpvsqqpcngjgfdrpngnspdwhhvlhqrtsphgqrlldggtrvqsprbfdmrpgcmqphdvjfmhlznpgtqlvtnllcdhzhhtjjlfvdlwhcrfmjmdjtmbllvsfgvmfqtqlmrlrjmqptszvjdpzhphppljnpjdjpwlrclssgdnstchhwhpflmlrtdqvqbbljrmnflrltzpqmgqfrczvfzrpfsrwsgpljvjfjdjdvjchcdmmtjgghqspwzdtwqgtvmnrrbfbgnhcrvnzznrdlqmgmdwmpwzlqdjtvpszwnjtjtmjqvfwvftlhgpvgzswpbvbllfcwpjnsmbhzrdpdzjsrpnhphdcqjmzvvhrjcwhgwjwcshqwzpbpmfnjjvqcjrqmvsrdrtdvfhwhrbpvrqrsfzflslqtdrtcsggtzmpvbszdgttlvpwwltvpcwqmnwqtpcfzgsvsmncvpqqdrljfwtncplmjlpfcnqmcctwzhrbmrfwvsrjsbnhjrjmrnbmmnnhsvlltwzzhsgwppnlmljgpcsmpchdjdzpgvrtwsfzffhnlbfmrldzbshvpqhnfzpwnvczgfvhbntcpztwqlfgtsmdhvcrgjhvqrhbpvbpzcpbgzrcfjztbnfjptbzfpztwprwf
|
||||
@@ -0,0 +1,58 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
//Part 1
|
||||
System.out.print("Part 1: ");
|
||||
System.out.println(findStartOfSequence(str,4));
|
||||
|
||||
//Part 2
|
||||
System.out.print("Part 2: ");
|
||||
System.out.println(findStartOfSequence(str,14));
|
||||
}
|
||||
|
||||
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static int findStartOfSequence(String input, int lengthOfSequence) {
|
||||
char[] sequence = new char[lengthOfSequence];
|
||||
boolean matchFound = false;
|
||||
|
||||
for (int i = lengthOfSequence; i <= input.length(); i++) {
|
||||
matchFound = false;
|
||||
for (int j = 0; j < lengthOfSequence; j++) {
|
||||
sequence[j] = input.charAt(i-lengthOfSequence+j);
|
||||
}
|
||||
|
||||
for (int j = 0; j < lengthOfSequence; j++) {
|
||||
for (int k = 0; k < lengthOfSequence; k++) {
|
||||
if (j == k) {
|
||||
continue;
|
||||
}
|
||||
if (sequence[j] == sequence[k]) {
|
||||
matchFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!matchFound) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -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 7</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>1671521328714</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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,88 @@
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Directory {
|
||||
|
||||
private ArrayList<File> files;
|
||||
private ArrayList<Directory> directories;
|
||||
private Directory outerDirectory;
|
||||
private String name;
|
||||
|
||||
public Directory(String name, Directory outerDirectory) {
|
||||
files = new ArrayList<File>();
|
||||
directories = new ArrayList<Directory>();
|
||||
this.outerDirectory = outerDirectory;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Directory outerDirectory() {
|
||||
return outerDirectory;
|
||||
}
|
||||
|
||||
public void addElement(Object element) {
|
||||
if (element instanceof File) {
|
||||
files.add((File) element);
|
||||
}
|
||||
else if (element instanceof Directory) {
|
||||
directories.add((Directory) element);
|
||||
}
|
||||
}
|
||||
|
||||
public int size() {
|
||||
int sum = 0;
|
||||
|
||||
for (File file : files) {
|
||||
sum += file.size();
|
||||
}
|
||||
|
||||
for (Directory directive : directories) {
|
||||
sum += directive.size();
|
||||
}
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public Directory getInnerDirectory(String name) {
|
||||
for (Directory directory : directories) {
|
||||
if (directory.name().equals(name))
|
||||
return directory;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<Directory> getAllInnerDirectories() {
|
||||
return directories;
|
||||
}
|
||||
|
||||
public ArrayList<Directory> getAllFolders() {
|
||||
ArrayList<Directory> folderList = new ArrayList<Directory>();
|
||||
|
||||
folderList.addAll(directories);
|
||||
|
||||
for (Directory e : directories)
|
||||
folderList.addAll(e.getAllFolders());
|
||||
|
||||
return folderList;
|
||||
}
|
||||
|
||||
public int countSum(int maximum) {
|
||||
int sum = 0;
|
||||
|
||||
for (Directory directive : this.getAllFolders()) {
|
||||
if (directive.size() <= maximum)
|
||||
sum += directive.countSum(maximum);
|
||||
}
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
public void print() {
|
||||
for (Directory directive : directories) {
|
||||
System.out.println(directive.size());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
public class File {
|
||||
|
||||
private int size;
|
||||
private String name;
|
||||
|
||||
public File(int size, String name) {
|
||||
this.size = size;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return size;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,70 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
public class main {
|
||||
|
||||
static Directory root;
|
||||
static Directory currentDirectory;
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
root = new Directory("/", null);
|
||||
currentDirectory = root;
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
|
||||
//Part 1
|
||||
System.out.print("Part 1: ");
|
||||
while ((str = file.readLine()) != null) {
|
||||
if (str.charAt(0) == '$') {
|
||||
command(str.substring(2));
|
||||
}
|
||||
else {
|
||||
if (str.substring(0,3).equals("dir")) {
|
||||
currentDirectory.addElement(new Directory(str.substring(4),currentDirectory));
|
||||
}
|
||||
else {
|
||||
int size = Integer.valueOf(str.substring(0,str.indexOf(" ")));
|
||||
String name = str.substring(str.indexOf(" ")+1);
|
||||
currentDirectory.addElement(new File(size, name));
|
||||
}
|
||||
}
|
||||
}
|
||||
file.close();
|
||||
|
||||
System.out.println(root.countSum(100000));
|
||||
//root.print();
|
||||
//Part 2
|
||||
System.out.print("Part 2: ");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void command(String command) {
|
||||
String handler = command.substring(0,2);
|
||||
if(handler.equals("ls"))
|
||||
return;
|
||||
|
||||
String content = command.substring(3);
|
||||
|
||||
switch (handler) {
|
||||
case "cd": cd(content); break;
|
||||
case "ls": ls(content); break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void cd(String content) {
|
||||
switch (content) {
|
||||
case "..": currentDirectory = currentDirectory.outerDirectory(); break;
|
||||
case "/": currentDirectory = root; break;
|
||||
default: currentDirectory = currentDirectory.getInnerDirectory(content);
|
||||
}
|
||||
}
|
||||
|
||||
private static void ls(String content) {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 Template</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>1671521328717</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,28 @@
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
RandomAccessFile file = new RandomAccessFile("input.txt", "r");
|
||||
String str;
|
||||
|
||||
//Part 1
|
||||
System.out.print("Part 1: ");
|
||||
|
||||
while ((str = file.readLine()) != null) {
|
||||
System.out.println(str);
|
||||
}
|
||||
//Part 2
|
||||
System.out.print("Part 2: ");
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user