Compare commits
10 Commits
42c4ff38d4
...
d03d54c1b9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d03d54c1b9 | ||
|
|
db416749fb | ||
|
|
5fd3f79810 | ||
|
|
2cc91de95d | ||
|
|
47475809dc | ||
| 5546be7204 | |||
|
|
1cc8907e81 | ||
| de37379cc0 | |||
| f3e85556d7 | |||
|
|
a935a2e7d4 |
2500
day2/input.txt
Normal file
2500
day2/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
52
day2/part1.py
Normal file
52
day2/part1.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import datetime
|
||||
print(datetime.datetime.now())
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
gameResult = {
|
||||
"win": 6,
|
||||
"tie": 3,
|
||||
"lose": 0
|
||||
}
|
||||
|
||||
throws = {
|
||||
"rock": 1,
|
||||
"paper": 2,
|
||||
"scissors": 3
|
||||
}
|
||||
|
||||
rpsThrow = {
|
||||
"A": "rock",
|
||||
"B": "paper",
|
||||
"C": "scissors",
|
||||
"X": "rock",
|
||||
"Y": "paper",
|
||||
"Z": "scissors"
|
||||
}
|
||||
|
||||
total = 0
|
||||
|
||||
def determineWinner(opponent, self):
|
||||
if (opponent == self):
|
||||
return "tie"
|
||||
if (throws[opponent] == throws["rock"]):
|
||||
if (throws[self] == throws["paper"]):
|
||||
return "win"
|
||||
if (throws[opponent] == throws["paper"]):
|
||||
if (throws[self] == throws["scissors"]):
|
||||
return "win"
|
||||
if (throws[opponent] == throws["scissors"]):
|
||||
if (throws[self] == throws["rock"]):
|
||||
return "win"
|
||||
return "lose"
|
||||
|
||||
def calculateScore(game):
|
||||
foe = rpsThrow[game[0]]
|
||||
me = rpsThrow[game[2]]
|
||||
result = determineWinner(foe, me)
|
||||
return gameResult[result] + throws[rpsThrow[game[2]]]
|
||||
|
||||
for line in input:
|
||||
total = total + calculateScore(line)
|
||||
|
||||
print(total)
|
||||
print(datetime.datetime.now())
|
||||
74
day2/part2.py
Normal file
74
day2/part2.py
Normal file
@@ -0,0 +1,74 @@
|
||||
import datetime
|
||||
print(datetime.datetime.now())
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
gameResult = {
|
||||
"win": 6,
|
||||
"tie": 3,
|
||||
"lose": 0
|
||||
}
|
||||
|
||||
throws = {
|
||||
"rock": 1,
|
||||
"paper": 2,
|
||||
"scissors": 3
|
||||
}
|
||||
|
||||
desiredOutcomeMap = {
|
||||
"X": "lose",
|
||||
"Y": "tie",
|
||||
"Z": "win"
|
||||
}
|
||||
|
||||
opponentThrowMap = {
|
||||
"A": "rock",
|
||||
"B": "paper",
|
||||
"C": "scissors"
|
||||
}
|
||||
|
||||
def determineThrow(opponent, desiredOutcome):
|
||||
if (opponent == "rock"):
|
||||
if (desiredOutcome == "win"):
|
||||
return "paper"
|
||||
if (desiredOutcome == "lose"):
|
||||
return "scissors"
|
||||
return "rock"
|
||||
if (opponent == "scissors"):
|
||||
if (desiredOutcome == "win"):
|
||||
return "rock"
|
||||
if (desiredOutcome == "lose"):
|
||||
return "paper"
|
||||
return "scissors"
|
||||
if (desiredOutcome == "win"):
|
||||
return "scissors"
|
||||
if (desiredOutcome == "lose"):
|
||||
return "rock"
|
||||
return "paper"
|
||||
|
||||
total = 0
|
||||
|
||||
def determineWinner(opponent, self):
|
||||
if (opponent == self):
|
||||
return "tie"
|
||||
if (throws[opponent] == throws["rock"]):
|
||||
if (throws[self] == throws["paper"]):
|
||||
return "win"
|
||||
if (throws[opponent] == throws["paper"]):
|
||||
if (throws[self] == throws["scissors"]):
|
||||
return "win"
|
||||
if (throws[opponent] == throws["scissors"]):
|
||||
if (throws[self] == throws["rock"]):
|
||||
return "win"
|
||||
return "lose"
|
||||
|
||||
def calculateScore(throw, result):
|
||||
return gameResult[result] + throws[throw]
|
||||
|
||||
for line in input:
|
||||
opponentThrow = opponentThrowMap[line[0]]
|
||||
myThrow = determineThrow(opponentThrow, desiredOutcomeMap[line[2]])
|
||||
game = determineWinner(opponentThrow, myThrow)
|
||||
total += calculateScore(myThrow, game)
|
||||
|
||||
print(total)
|
||||
print(datetime.datetime.now())
|
||||
3
day2/test.txt
Normal file
3
day2/test.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
A Y
|
||||
B X
|
||||
C Z
|
||||
300
day3/input.txt
Normal file
300
day3/input.txt
Normal file
@@ -0,0 +1,300 @@
|
||||
GGVGlqWFgVfFqqVZGFlblJPMsDbbMrDMpDsJRn
|
||||
LwzHtwdLHHwDrzPZzzsJbJ
|
||||
wdLTBvSvHvZVGCjhfN
|
||||
HsSSnZVHjjssZnJpSJjBHHWgQGcgqqQLQdQFqNgWgqGNDg
|
||||
rmmRwrtfThtTrbCrGGGcLBDTqDBNQLdL
|
||||
mwPrrbzPfwvbzhwMMnnjHnBjZlnzMM
|
||||
gjjdMBgdqdTpJpBcjgRRRlqnvrqfnZtrtZDw
|
||||
zHShWLhCszCWHVbVzQWCPtQvNZRwtfftfNnrnftlfR
|
||||
PzPSssHbVhCLFMJFcMFJJMjdJw
|
||||
ZqJdtpfpjmpJjpnwWdttTCDLLTQFNTzTzrcqrQqc
|
||||
MsSlBGvBsSGGSlbGsCgggNTgzNLczFQNrNQVQcFzFF
|
||||
sGHHSGllhvMGhSRGCjtjtjnjnnmHWpWWtJ
|
||||
tMdjQlHPHsGjsCtsCpwwqfhfnnFMDMrpfD
|
||||
SbNvWvBRJRWwFSgppgSrfg
|
||||
RNcNbvzJRcVLRVzTRFLjdHCQttdZdPlHstPl
|
||||
QWqgpdBflpHNCNWNHHPm
|
||||
VVMbbJsLFVMhrMJMmRjFNHwHjjCTGSSRFj
|
||||
mbMsZzsLmVhJZrcLcJhLMtnqvBnZdggplDffvlnlvnDn
|
||||
prnNnsFnZpnBNdNtFrNnzNQQwTTQZqTHTQJQMwHDMDlZ
|
||||
jgfgcSmbLmhmcPShghRdmwJTQjTlqGlJQJHqQqGHqQ
|
||||
hRVhPfbCgbVggLVRSSmRhRPhrrrnCzzsvCvrnvFnNppsvBtd
|
||||
QJLNDWSWQdLFFFhLdt
|
||||
npHhHMsfsjpZjznRtmrMCdBwFBFrBdmt
|
||||
HsjHqRRfnnHRsgfHffZspgzqDGQSWbQTDNGhQhSqNPhDWWbT
|
||||
bsCmFDsGZCNsDmLDLZBSHSJTHnrZQMQSSQ
|
||||
jqRpwvfqnnRQrftdBMHddB
|
||||
phpchwpzjpvwRzwcsnlFsssPCCGzDlsD
|
||||
rMqzVQfrfVZWZhTdRTQL
|
||||
cgmtFtjFFJDDtFvSFRZdLlhpHZddmwTZWh
|
||||
FbcSTtctcvFTJNgtJDGNPnCqMPMfMBfznGVsrMCq
|
||||
wLJfGJJPZLBfwSLGHbqmhhDHHhFDzfhv
|
||||
FsnpFjVjplTQCspNlCDbzhMMbqvMvsgmHDqb
|
||||
lRdlTdTddllpRQFRltVVdFRcwrtrcWWcPrrWPrPSrZWLPc
|
||||
VGVZhTppGTfPnJVJrFqbsmbSSshHqWqRHF
|
||||
llzDCzlBLdNcCddlMMNBdCCtWHbFqFRRRsHjWtRwSWqbmjWm
|
||||
NbcMBBvzzMQLCDBVTQQPVrPQPPZVPp
|
||||
cdcgfmQdqlqhzzPjzfwpwf
|
||||
GLBGBDvbvRzGwtnnmPpp
|
||||
ZRCZBRFSRvLRLFvvbLLFQdHMTHTlQlNqNmqFlWdH
|
||||
vzjzvHtcHvJcDStLLGSShCbbfF
|
||||
MWFFTVZRMmMgdQdSQLwQrQwbGw
|
||||
gFTmgmVZssRsWZRNzJlBHHnnJDvzNPlP
|
||||
rHrvHpmHZfdGDDGGZd
|
||||
cTlMsNhllMhGchNPCBlhMQgVDdgDSSWVbWVwRQwRSgbV
|
||||
lnBjnNNTTMnCTcChPNhMvtzvFGLtJrjFtHHHzHJm
|
||||
lgpdZZMmGVVzVZzt
|
||||
HfHLrHqbPbzJJzRJJPTl
|
||||
HsLWWbDqFrqlqfbsbDqDBncpgFmmvpnmmgpvdvjcdM
|
||||
GpNVbTpJJNvMBMVvJTGvhnWQQScllnhhWlhVSznV
|
||||
ZjswwHHLZzGnjWjSjl
|
||||
sHdftLLtgLfwdtPmHtMbNpMTpNqGRbPvTqPv
|
||||
sHSNNhNwsllGSGGlWSGWSsFrrVbQrdmFrVrrmnrHmrHr
|
||||
QQMRZDDRcrcnmRcV
|
||||
fJfCPMJCzTMZSGsWwsWBwqQf
|
||||
HwQZZJsHdqqsdJQGRgCgVGgSqgpcGG
|
||||
ljWWbnPhjBlGpCRCnScSGg
|
||||
hrrztWlbPjltjMPSdJDZSsHttwsZwD
|
||||
VzzbmzvpvNhvBDqc
|
||||
QHSJSQGCwJCGrGQjjcgcBFhdgqdqFdDNNw
|
||||
rCGJtZrHhhtLRsth
|
||||
TMWwCLPpMTThrvtMRJjbjRvmJs
|
||||
fDzcHFfSfFQfZzZRJbdmmqqssqtbSW
|
||||
WWgGZglcllgPBBCBNVGPNr
|
||||
wrwwhpTpbqhqrshrrfrFfwfzRJGdNJHNmcFzCCzCRJGzGR
|
||||
vMggvjQvgPvQjVLMMPSZqWNJGCzcNGdcdzHPPzcmCzPz
|
||||
qDZWvBZVfDhbTtrp
|
||||
LpDvHdjVghnjbGrn
|
||||
FBBBPwwlBlwSfFTWPHPWWhmgngmmnPnmbsngngbGrb
|
||||
FwftBSCSfWCtwfVQDvHHCMVvdQLQ
|
||||
ZrQpQlSpNlqQCVnQBmdDqmWDqmWWBDBB
|
||||
HsZMsJvZzLMHTRwWhgDwmfDBgdhWdf
|
||||
RZvTzJGzRjFrVNVjlQrS
|
||||
mqjMwfqlSSPmSrlPhwhVpGRcppWcpcGRcGWv
|
||||
ssJDJJNgZNDWrRWcRpvr
|
||||
ZTsTnnsLJQgPnfMwmnMrfm
|
||||
qsVBvZqWLdfbfvLj
|
||||
mPNRgmHBBGQrCbSbrdfCCSbC
|
||||
PlQTGcTTcgGFQQGPTGllpqMzwzpVJZwBMssZ
|
||||
FWGcNRLRLhwJJQfV
|
||||
nzbzlDBHSpTDbpDpzHwCqhqwJJghQqQMCCBw
|
||||
JnzndzpmJFmNsrrFsc
|
||||
gmRwwDwfnRDJgwZLFQFFNGNQrFBmFbbm
|
||||
CCVHVWWThSrjVGvbNj
|
||||
WpdqpplppHCWzlClMMTTZJcJsdscJLLdbDDfZDgL
|
||||
VNtCCMDllpBqDvtdCczTSgjHlzGSHSGZTZ
|
||||
hPFPsQhhFhLnbsRnLFssdzcHdsSHSSHgjzHG
|
||||
QPWPQrPPmbdnbWLFPrrBVrVDBqqNMVwttDtBvD
|
||||
PPNNRggwgRRgHBhDtwhTwbDs
|
||||
SFGSFSMCJFMrcrCMSSsbtrTbbZhBvtHhrTHD
|
||||
MFfSMpflQLQflfLjnLmddsLdddqq
|
||||
RcgbcrrFscVrwZVCgVGGmHppNNndWnGdNqddqqNqND
|
||||
jTlSTBSTjLTvlvjjPtvMLlhHnftphtDFNFqDnDHWNddn
|
||||
QBMQvzzjzvJPjFQMmwZJrgmCCJVRVbbc
|
||||
CzPJsWCpvsNszsJsNsHlDhMrrJGjhrRVhRGgDDjG
|
||||
tFFdbqFLFdwctQdfVhjRRghTcrjVRTDW
|
||||
bwQtFLdLBdFmwnHnWHPBNnHCnp
|
||||
CNTstGNslRRRstlmNmmTZZqfFwtqgwqgfBPSwSWwqgWq
|
||||
hpDbcHbpSrcgqqzhhWVfqg
|
||||
DDcLDjbMjCSsZRNlMv
|
||||
MhHMCMNbzbMHlcqmGmrmWc
|
||||
tnPggdZPBPgdtttJpdnwVBnmqQcvlQrQlfGqmfWffBcqWD
|
||||
VPPwPPLPwLGFGLzCbG
|
||||
rqBcBmjHTGfPbcVgPG
|
||||
dlDpsdshzlldlDvsWlWvLQbQBbfLFLbPvbBGQBgG
|
||||
BlBznnRWzlphphBnhZjZtNNCNmrNqjCqHwHN
|
||||
mQBvmvBmmLJvvrLtttQrfhGlcRGfRhVGWJVChlRG
|
||||
MzPswTsbTPPsNgMNszgzMpbMfcRcGflVGRfWSpFRlWWWFhcC
|
||||
bcPsTbgbbTTwNZzTZzvdjdjtQQndZvdrvdmZ
|
||||
hQzTQJFFZJrcdcdZFFrGFSVWVRWRwRgRHVMWDCDSWc
|
||||
lPmpNBnnnsNBnLnfbfnCDWMvwRvDCCMPwwHWvM
|
||||
HpjmffNlnqqhddTddFZjGJ
|
||||
BwsLFFbHLbVCSCSFbsbFLsJbqnTtZrRMHTZtrTrZTcRRRRTq
|
||||
lGhNhpPmmhpztZTBrcpjRqpB
|
||||
QPzdfzBQNgFJSCwsdLbS
|
||||
ZsZsSBTgffSCqSSfrMnnMwjqmqmnnnqwMm
|
||||
bbPPbzVclcPzGNlvzVtmnDBnQmtnQLBjJVLn
|
||||
zPFGplGGvdPbHplcbzzvdlNBTThgRpCTCTfhfsCCsSRZhR
|
||||
CVLSVCLVZRsHcnzSRpdZZRCdPlmcMWDDlPNqMqtDMmqPMlDt
|
||||
TBnGjfQrQJjhfWlPPmPQDNlmlP
|
||||
fjhhGvjvvrTTBhvTBTbvGVRLzVnbSRZpHddspHRzLs
|
||||
DDtWjfRfftWMLzSQjzzhWjjwRVPHqFbBbZHVwZBFvFwZvZ
|
||||
JGllgCJlJsrCGPrCNTPdslvZVVNVbvBqNbbpbbFHpBwZ
|
||||
CcPdnCdmCJjfcftWhtSL
|
||||
pgpfddDGHWzDNGNGpRCQjCTFHZZQFQjcRT
|
||||
bJlhqmMvnlrRQFtTthPVhZ
|
||||
lvbJrlJMBwfzGNTddB
|
||||
wpbJGGZpsjvtdWvGWF
|
||||
HqqhBhBqhhNQHTSHqqNzRHVPvTvddWrjtrjFvrvdTdVP
|
||||
NRLCRzlqHQtNRBLzQllhhZcgbggwmLDZpsgssDpwwD
|
||||
pDzFzJFcVMcWJFJFzpLBsqWLZssshsGLGbsS
|
||||
wqHqfvnfrRwQtdQRthhBbBbZLhPLnBTGsh
|
||||
CfQqlqvtfHNvMVmzmmMCFDMc
|
||||
GcgpNHvcSNvpSLphdhsLdQTsdWThhQ
|
||||
wwzttPrrhQswdhnT
|
||||
tjJjMJRbRbjztmjtjbgcRsNlgglHpDFSlSvg
|
||||
VVLvLqqPVlvcqLLdwLbHpzcHSsbRJppHbHpF
|
||||
CfjjCNGmMWhWjhWHWb
|
||||
ZmGZffggrDqZvZtlbTqL
|
||||
TTmmhvBvvHWzHpsPpstpLVdwwsLb
|
||||
qflfFgNctNcCnCCNDnfFFNDwrslwZbPswwZbJLJZbrlPLL
|
||||
FgQDDcncStCgtqccjSDTHWMThvhTQMBQhWvWRG
|
||||
SqhVghPccSBhgSBqWBFNQNsHQHMjCCQQWCwQHN
|
||||
fLZftnlttcbbtZbZlpZtttQjwsCQjRwwRDQspMRMNNQs
|
||||
TfLtvbJtZmlbTTTtlJbFvVqPSgBdPqPhFSGBcd
|
||||
pPPNDptcqtpcDztLDhhngnnJgJTmJwNnwm
|
||||
HVVCsSClHGBCHslWHbSCGGVngTrJwnnJnQRRBrhQhgJhdm
|
||||
WTWWWsvVlvGbWCFvjDftPpjqZLLtDz
|
||||
wWclwtDwRvflvffB
|
||||
sMMsGdsSTMrJZNqczfdvhvnzCnfv
|
||||
rspppMjMspSTSMpgLjcPFmwPLmPHwb
|
||||
tCdSMHtHtRFHdWSSJQSgrrrnghTNJN
|
||||
BGfcvDsfvsqcvqfGvfGnNLhggBNQJNJQmpgQJm
|
||||
sGfQDPDZzfDZzclwDzwsDlfjtbdHClFRCMWjbMFMRFWbdj
|
||||
pJNCcvqCccsVvFCpqsmvWJfCBWgSzBBRrrBRDDgDrSbbgQbQ
|
||||
TMLnLjjffwfwGdjQjDDBjBrDtztRSb
|
||||
MdPLGhHnMZhlPHHTFfZvVCpmmmcFcVFC
|
||||
SwFMfCMRCdQDdMbmdFfdbbnlcVncVCcgLqWcNNnCcWlW
|
||||
hPjQzzhGzhpPrtPJPpPHrVgnqVVncVVnNHlqVnncNB
|
||||
ptjGrptztpthtrtJJhTsGwFDZZDQmSdfZSwsRZSwfZ
|
||||
rSSWWCWrdllHWpjcnFNnRCNjQp
|
||||
bGwwJqGVGbGJVVhgbBgttGmBQjFsMjpMcMnnMBcQFNnsssvv
|
||||
bfthwmfJfgwwmmwZqVJPHNHSZHWzSlDPrdDdSH
|
||||
nmJccvclcbwmlbbvVbvsHwJJPCPNCNPnLBhrBPPLBhLhBgBP
|
||||
MdRGtdDRTqWDMqtMDtQDRWSdLLBsrhLgBCgrgCgNNLPBfNMf
|
||||
dRZQdDdRRSQWGsjZmwzjmlzsZH
|
||||
PBGGMrTQTrTBpPQpLpSlwjwfjtlnfwbmGttw
|
||||
fCsJCWJcvRCtwwjbCl
|
||||
NsqcsfcvDHFVDJvdLQTrpdTTzTPpHr
|
||||
rltrwsBTlrfGZggGBLGGNN
|
||||
jhMnRQJVphMnbhvQjDZNqqZDNTNHZVHGHq
|
||||
MRvbhQRQQChpvbjvMSvQnMcsFsfwwmlCwFwWcTWwrmPc
|
||||
DDvLLLBnvrzvbvbmtv
|
||||
TMwRjTRMGCwGGwrjQQnmrQrrQdhZ
|
||||
MJPFHFTwgCGqGqgJMGDfSWcsnBSccgVDlnpW
|
||||
flzVzNrdLNLJzrGlfdlzjrQDgFTpDgDmmmgFmqFDQjQh
|
||||
CbnBcsZnPZVSnwvVsZbRhhBDpgFphgmgDgTppq
|
||||
ZWnsWSnncSZsntZCbsswwJMzdLzlMdNMLtMVfrllMt
|
||||
ZffSgNfgJgGCHZcZrpHrNJTLhqvSLTqQnvVTLvzvLTjV
|
||||
tWFtHMwlBlDqjjzjnqvvlV
|
||||
DRMPDtWHPFDBFFwWMFBmFRPgZpJfsffNGJNrGcsprrsmfg
|
||||
wRZRmpZmlPqZjzGrdrGq
|
||||
bBhQQFPQbPDVNzVNzdGWNdrf
|
||||
QFbcDcDbLHgHBPDFRsSSMtmvRttMpCLS
|
||||
MpWJVVJMcWvpRShcwpLGflmqzSfNdfNLdQzN
|
||||
CDBTtCgtbjgCRrBrPBTQqzflNqjGdLzzmqffzq
|
||||
rFgnnBbttDTPtHCDPrPMnpwVJhJvMZvpMvppRZ
|
||||
sWTTmpsfsWppPTTsTVZWHVVZNvVcdcJvdN
|
||||
DjjBzjhRHvvvSzdc
|
||||
rMBjjrjbjrGDlgMlMrGjBgRLPTTwHMsfnFwFQPMPMnmFFm
|
||||
QRRbDjjmPzNQwFDNmrQmzCbVHrMhBVrJLJJfMGGLtfJBHh
|
||||
dsWcsqqWSWvnWnWcWGPJLBqhLBqGhBJHHH
|
||||
ZWnPWgWgPnlbCDDwmmDbRZ
|
||||
nfPqqfLqQnfHBSqnzztQjVmjfGRWJNGRWsJWJfmJ
|
||||
TTMlMMlFDMGVGRsVJH
|
||||
CbDbFDbvgTFFwgTDlDprhlPSqBzSnPdLPtPPHgznQqBQ
|
||||
fJmWVfHqjfjhZCQZ
|
||||
NcNzBNvgszQmzjnthZQC
|
||||
LsLsgBNFmFgTFgGBBgcdMdvPDPDJWrlpVbGpJWqHDlHJHD
|
||||
SllDdvzgdFDdlPJvbFDDSzFScPTRTNcwfZRwRhcwwNnRZTtf
|
||||
WBpWBCLGVpLjHrHGGVhZNwcTVcNhVnRcNZ
|
||||
LHLQLspHWQGpWCHnBvdzDJFlqvdsqgSgqS
|
||||
GcTctDMjMhpMDRjLsMMsfDWFfdPCFNbnCPnvCPgW
|
||||
JmvwqlBwnmfdFPFP
|
||||
SvZqHSZqqHZZZBlllBwSwsRsMHpLjpLsMGtsMspGRT
|
||||
ClLnCLfClLVllfLLcQjLBCfCmSHVsttsmtsVStDNVdppdsSp
|
||||
PFrRMbWqMRwFRqRSqwqvMvMsGtgsdmssrgNtdmpNdDGgdt
|
||||
bwJbPWPwFFPFSczCZzZZCcfjBJ
|
||||
MwmBmzwJQTcTmfPVfZPwhhwHPH
|
||||
jlnrglFLvbrGRFGnvFZdNNFfPZddPThVhdPH
|
||||
RjbjpgbnLGvpLgzBqBpmWmmzqTMS
|
||||
FnsSpttPnPbNCFDtsPnFHQZTQZgcwgDDTfrfTHMZ
|
||||
mRjzRzlvBvhjZrQmMMwfZZNN
|
||||
ldzddlzLRlRWdhjdRLjhRWtJbJbNtJJpJPbCbGCWNG
|
||||
wBwmNZBTmzzcVcmpzZqdMgPjnLSVlPgDPdbMdg
|
||||
flJvGtHffHDddddbHjnb
|
||||
RstrhfrhhRGFQtRhtftvQhvFZpsmpWwNlWqcWTccBNWswqNp
|
||||
DPWhbzDlQLLlQbLDlLhPhLFNNJqCFGqnNJCCSCnGPnGN
|
||||
wvwjtvtdwfssvSJgFFvGGSCFcp
|
||||
mtdrZwwJsrtddrHRtZWbVThLlBzVTzhHQWhB
|
||||
TsRRWctsTJMQZllggc
|
||||
zDvhpbprgGvpvVlVQlZpQMJVlQ
|
||||
rrrvFvGCDhDSrrrvChCgSstBNTSftWBjTdfWBN
|
||||
JJdssBcLVGrgbBHWrH
|
||||
QZTptvmvmlZpRDlMMMZCQvnjjFnrjWGFbjnrnFGWgZrz
|
||||
TMRplDMggtwlppTlvhsJJqdcqwVPSSNcLd
|
||||
JjTCCrcRvccPLmMP
|
||||
NfGFPZlNnwBfPlbbbQZGqLHgzLghSmMBzSgvzmDMhv
|
||||
ZfbnNQpQnZGlGlGpWTddjdTJdpRPTrCj
|
||||
gWLblMMggdWsdRJlblMRMMqWDvPvcPPPccJPJVTZVZThmcDP
|
||||
rQFfGfrCHrjnrtNTcPShTSPvvVLtmm
|
||||
fQrCfLrpLHnCHwslqzqsslswzqRW
|
||||
zpJtGlJPMPTlTjGJCDGCDljpdnvhhWnZnZnDwwmvnWDWWvdd
|
||||
sHrVrSrRRRLNgLVBqSsZmWwvwcvwZjmwngmdbn
|
||||
QsQQBrrLHTjPpTQzzP
|
||||
JDlzHHzzptRDmbTMrrVQ
|
||||
dRRNqnCBnmrQsVQQ
|
||||
wFPCBNFgwjPwhgFNztftpJRPpzRvvHtZ
|
||||
DlBhrDBPPwMWwhWchW
|
||||
ntSqbbSJFJNqzVzjCfMvfSlSRWccRL
|
||||
mVlHtNVtqldbJVmNHmdTTBBgrQQgGsPQdrDgsP
|
||||
HWHNbBgvNLdcvQMnSf
|
||||
wqqqVPDPhqwszFwrrszFfMdWthLcMdfhthSQfJSt
|
||||
qVPVwTzFwFDpDrPDzDPFDPlCHjBGjTmZGjbWWGZBRTNjjH
|
||||
GVgdWjllSqgjdgHqqlfmhwcpwCzhvZwMcScv
|
||||
nsJQbLRQsNnzQDQQPPBbRBRhfZwpZcvwpvvmLCcvpcmfMM
|
||||
DRJtnnRbBBnPztsrPzRBPbsFFHqqVrqggjFWqrgWjTGgFq
|
||||
hhZJQPJFHGGlcWWslpNN
|
||||
VwwwJjvwMtrCnwjDNDzlfscWszWW
|
||||
nVStCrMqbVwqVqSqwnLPhTJFdRgJHZSFRLTP
|
||||
vPgMbbRhhvMvNjjLWsWQsHQmHwBrmmBzww
|
||||
tFctDnVFpppHVBTdzdTQwl
|
||||
FtSFqSptfJCqqJStZCqDpDJMhvLLgLMgQgjgGZgGgMPLZg
|
||||
zwsWgSGWLSVhPWhtLgLWhPVNQTmDrDQttZpdQtdpQDDQZQ
|
||||
fjCHcvvjMDrppCQpVV
|
||||
VMqRnVJMVLPzbRWhGh
|
||||
mjRmzQlzDzNHWwDZ
|
||||
FBfJBGqnnpfSVGnpJbJVfNtCsJHWZvrsNJCZrCNsvN
|
||||
fZPBnfPqSBqdfpFbVnVSjgdcLLgRLjmgRhLLghlR
|
||||
FSFnTcppdQtnnDhtzDfg
|
||||
ZLGVmBLBVwZCVjjGqGhVwVVgzzbMDtNNvszMmMffNDDvtM
|
||||
VZPJjBZVqBZZBjqwVqllpSTphhQFPShWSQcW
|
||||
hTRdcLrCLgplLvBFGvlL
|
||||
nZDZqzbDbDzRZtVNDzDWGwslsllBFpnlpGvJssFG
|
||||
zbqjNWQVmVPrrRjRdRhS
|
||||
VpNCbVHlHHZfflVfmchctqFcqQQjZmZM
|
||||
WDSRGgsSvgJSRrnWgqQhmjBqmhqrtLqmQm
|
||||
znSGTgDJnsDGzgwCwlpbCNwHzVtl
|
||||
sTTTrpHFFFqTnQbbvfJdDzHHDLVV
|
||||
CjMtgMgRvbPfjjvB
|
||||
mhMvlhhWClvqshNTQQqsNN
|
||||
tWFtFBzbwdFrpmdhdm
|
||||
qTqDjJjJQQqMjTDLJjNqNqPNdmpcSmhdmhhmcrWZpdPGddcc
|
||||
RjNQLJNTTJDDJRHHjQqnMWtlvvVvbtBvRVzgzgwgVg
|
||||
CGdQjwdJrbBmpmZZZlRWcb
|
||||
NgtMPVstgSzBLzhgzgLgDRlcmDWRmlZvcSmDSvvp
|
||||
LhNsgPPLFPPsNzMhhVzPsGJBFqwQGfnqfQjdGdGfwr
|
||||
CNbNdbzjCZpPNzjmzjsCMRJvnnMRGnsvJGRs
|
||||
wrtdwTLWFcFWdFgwRRsnJGnGfTGJfMsq
|
||||
FttcwgBtgVLgPldQSNZBzBpz
|
||||
DjRZrrRmttRFDvDrFTZsnWnHVSTSSJVZJH
|
||||
dNNhLqlLLqdCzfMMlCfSncTVVWcHdcVsVdSVnT
|
||||
QqppMfzMfqWCwbRQrwFrrttQ
|
||||
dwGjHrtjsdhfCHnPSpfMfDPpPDWS
|
||||
lmNzzlLbFqcqNgzpWMSvbbvDQDGWDp
|
||||
LBmglgmqBqmrwCGhCjVtBC
|
||||
tvHgWZCCprlgpWglCtjPhLmPmhVdJFSzVzdJVmmQ
|
||||
fBnTTnNNBnwfnNqcBbBBTbGJQQJhSSdQJJsmdJFSQGSmVV
|
||||
cMcDwFbRfFRlHCRCZrrp
|
||||
ZFWmgghzBgwgjWBzjzmRWWMmsVwnVrsdVdwNrrpnnVrPCnCP
|
||||
GLLbtGqllctqvGJvSlQbJGsPnVdsdpsTPLsVppBCTVss
|
||||
tJBStGSvctvDDfczmRgRZjzDjZmgzH
|
||||
FMrLmsQQSWzCZBhpQJTQQZ
|
||||
dPPVncVvPBJDCPhwJD
|
||||
fvHbbVHvqnvvvBzgLbbGGmrbMr
|
||||
mrZzrzqDrhZqDddSFrCGLLLPQPQBJPJJBnQq
|
||||
TgbpGblWlMsjgWlgMfpNRgbRHHBnHHHtLpCJPCPBnBLJtQQL
|
||||
sbTlblTlvRbbGblbFcdDzccVcDVvzzzd
|
||||
zMzfzlGwSBMMSCMzhsPgfcPcfcbhjQPt
|
||||
FHHqJVdJmFmdVrJdJppthscjGtqRPRcccgcQbR
|
||||
rvNJJpLrvvLnJvNFFvZZZBWznBWGSDCMnCwz
|
||||
51
day3/part1.py
Normal file
51
day3/part1.py
Normal file
@@ -0,0 +1,51 @@
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
def determinePriority(item):
|
||||
if (item.isupper()):
|
||||
return priorityValue[item.lower()] + 26
|
||||
return priorityValue[item]
|
||||
|
||||
total = 0
|
||||
|
||||
priorityValue = {
|
||||
"a": 1,
|
||||
"b": 2,
|
||||
"c": 3,
|
||||
"d": 4,
|
||||
"e": 5,
|
||||
"f": 6,
|
||||
"g": 7,
|
||||
"h": 8,
|
||||
"i": 9,
|
||||
"j": 10,
|
||||
"k": 11,
|
||||
"l": 12,
|
||||
"m": 13,
|
||||
"n": 14,
|
||||
"o": 15,
|
||||
"p": 16,
|
||||
"q": 17,
|
||||
"r": 18,
|
||||
"s": 19,
|
||||
"t": 20,
|
||||
"u": 21,
|
||||
"v": 22,
|
||||
"w": 23,
|
||||
"x": 24,
|
||||
"y": 25,
|
||||
"z": 26
|
||||
}
|
||||
|
||||
for line in input:
|
||||
lineLength = len(line) - 1
|
||||
lineLength = int(lineLength / 2)
|
||||
pack1 = line[:lineLength]
|
||||
pack2 = line[lineLength:]
|
||||
dupItem = ""
|
||||
for item in pack1:
|
||||
if (pack2.__contains__(item)):
|
||||
dupItem = item
|
||||
break
|
||||
total += determinePriority(dupItem)
|
||||
|
||||
print(total)
|
||||
54
day3/part2.py
Normal file
54
day3/part2.py
Normal file
@@ -0,0 +1,54 @@
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
def determinePriority(item):
|
||||
if (item.isupper()):
|
||||
return priorityValue[item.lower()] + 26
|
||||
return priorityValue[item]
|
||||
|
||||
total = 0
|
||||
|
||||
priorityValue = {
|
||||
"a": 1,
|
||||
"b": 2,
|
||||
"c": 3,
|
||||
"d": 4,
|
||||
"e": 5,
|
||||
"f": 6,
|
||||
"g": 7,
|
||||
"h": 8,
|
||||
"i": 9,
|
||||
"j": 10,
|
||||
"k": 11,
|
||||
"l": 12,
|
||||
"m": 13,
|
||||
"n": 14,
|
||||
"o": 15,
|
||||
"p": 16,
|
||||
"q": 17,
|
||||
"r": 18,
|
||||
"s": 19,
|
||||
"t": 20,
|
||||
"u": 21,
|
||||
"v": 22,
|
||||
"w": 23,
|
||||
"x": 24,
|
||||
"y": 25,
|
||||
"z": 26
|
||||
}
|
||||
|
||||
lineNumber = 1
|
||||
group = []
|
||||
|
||||
for line in input:
|
||||
group.append(line.replace('\n', ''))
|
||||
if (lineNumber % 3 == 0):
|
||||
badgeItem = ""
|
||||
for item in group[2]:
|
||||
if (item in group[0] and item in group[1]):
|
||||
badgeItem = item
|
||||
total += determinePriority(badgeItem)
|
||||
group = []
|
||||
break
|
||||
lineNumber += 1
|
||||
|
||||
print(total)
|
||||
6
day3/test.txt
Normal file
6
day3/test.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||
PmmdzqPrVvPwwTWBwg
|
||||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||
ttgJtRGJQctTZtZT
|
||||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||
6
day3/test2.txt
Normal file
6
day3/test2.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||
PmmdzqPrVvPwwTWBwg
|
||||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||
ttgJtRGJQctTZtZT
|
||||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||
1000
day4/input.txt
Normal file
1000
day4/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
15
day4/part1.py
Normal file
15
day4/part1.py
Normal file
@@ -0,0 +1,15 @@
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
total = 0
|
||||
|
||||
for line in input:
|
||||
trimmedLine = line.replace("\n", "")
|
||||
elves = trimmedLine.split(",")
|
||||
elf1 = elves[0].split("-")
|
||||
elf2 = elves[1].split("-")
|
||||
if (int(elf1[0]) <= int(elf2[0]) and int(elf1[1]) >= int(elf2[1])):
|
||||
total += 1
|
||||
elif (int(elf2[0]) <= int(elf1[0]) and int(elf2[1]) >= int(elf1[1])):
|
||||
total += 1
|
||||
|
||||
print(total)
|
||||
34
day4/part2.py
Normal file
34
day4/part2.py
Normal file
@@ -0,0 +1,34 @@
|
||||
input = open("./input.txt", "r")
|
||||
|
||||
def inRange(num, start, end):
|
||||
if (num < start):
|
||||
return False
|
||||
if (num > end):
|
||||
return False
|
||||
return start <= num <= end
|
||||
|
||||
total = 0
|
||||
|
||||
for line in input:
|
||||
trimmedLine = line.replace("\n", "")
|
||||
elves = trimmedLine.split(",")
|
||||
elf1 = elves[0].split("-")
|
||||
elf1 = [int(elf1[0]), int(elf1[1])]
|
||||
elf2 = elves[1].split("-")
|
||||
elf2 = [int(elf2[0]), int(elf2[1])]
|
||||
elf2 = range(elf2[0], elf2[1] + 1)
|
||||
elf1 = range(elf1[0], elf1[1] + 1)
|
||||
elf1IsInElf2Range = False
|
||||
elf2IsInElf1Range = False
|
||||
for numbr in elf1:
|
||||
if (inRange(numbr, elf2[0], elf2[len(elf2) - 1])):
|
||||
elf1IsInElf2Range = True
|
||||
break
|
||||
for numbr in elf2:
|
||||
if (inRange(numbr, elf1[0], elf1[len(elf1) - 1])):
|
||||
elf2IsInElf1Range = True
|
||||
break
|
||||
if (elf2IsInElf1Range or elf1IsInElf2Range):
|
||||
total += 1
|
||||
|
||||
print(total)
|
||||
6
day4/test.txt
Normal file
6
day4/test.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
2-4,6-8
|
||||
2-3,4-5
|
||||
5-7,7-9
|
||||
2-8,3-7
|
||||
6-6,4-6
|
||||
2-6,4-8
|
||||
514
day5/input.txt
Normal file
514
day5/input.txt
Normal file
@@ -0,0 +1,514 @@
|
||||
[Q] [N] [N]
|
||||
[H] [B] [D] [S] [M]
|
||||
[C] [Q] [J] [V] [Q] [D]
|
||||
[T] [S] [Z] [F] [J] [J] [W]
|
||||
[N] [G] [T] [S] [V] [B] [C] [C]
|
||||
[S] [B] [R] [W] [D] [J] [Q] [R] [Q]
|
||||
[V] [D] [W] [G] [P] [W] [N] [T] [S]
|
||||
[B] [W] [F] [L] [M] [F] [L] [G] [J]
|
||||
1 2 3 4 5 6 7 8 9
|
||||
|
||||
move 3 from 6 to 2
|
||||
move 2 from 8 to 7
|
||||
move 3 from 3 to 8
|
||||
move 2 from 5 to 3
|
||||
move 5 from 9 to 7
|
||||
move 5 from 3 to 5
|
||||
move 1 from 4 to 2
|
||||
move 3 from 2 to 1
|
||||
move 2 from 9 to 6
|
||||
move 4 from 1 to 4
|
||||
move 6 from 5 to 8
|
||||
move 1 from 6 to 3
|
||||
move 8 from 8 to 9
|
||||
move 5 from 9 to 2
|
||||
move 1 from 3 to 4
|
||||
move 11 from 7 to 2
|
||||
move 1 from 4 to 1
|
||||
move 1 from 5 to 9
|
||||
move 1 from 3 to 9
|
||||
move 1 from 9 to 5
|
||||
move 21 from 2 to 6
|
||||
move 2 from 8 to 4
|
||||
move 5 from 8 to 6
|
||||
move 4 from 9 to 7
|
||||
move 2 from 5 to 6
|
||||
move 5 from 4 to 2
|
||||
move 4 from 7 to 2
|
||||
move 20 from 6 to 9
|
||||
move 7 from 2 to 7
|
||||
move 1 from 2 to 6
|
||||
move 7 from 9 to 6
|
||||
move 3 from 7 to 9
|
||||
move 7 from 1 to 9
|
||||
move 3 from 7 to 4
|
||||
move 1 from 2 to 5
|
||||
move 1 from 5 to 2
|
||||
move 1 from 1 to 9
|
||||
move 23 from 9 to 1
|
||||
move 1 from 2 to 4
|
||||
move 1 from 9 to 6
|
||||
move 1 from 1 to 5
|
||||
move 20 from 1 to 7
|
||||
move 1 from 5 to 9
|
||||
move 12 from 4 to 2
|
||||
move 2 from 1 to 3
|
||||
move 1 from 3 to 5
|
||||
move 4 from 2 to 9
|
||||
move 2 from 6 to 4
|
||||
move 9 from 7 to 4
|
||||
move 11 from 6 to 7
|
||||
move 7 from 2 to 8
|
||||
move 1 from 5 to 7
|
||||
move 2 from 9 to 7
|
||||
move 1 from 6 to 4
|
||||
move 6 from 8 to 2
|
||||
move 3 from 7 to 1
|
||||
move 6 from 2 to 4
|
||||
move 1 from 3 to 2
|
||||
move 7 from 4 to 3
|
||||
move 1 from 8 to 5
|
||||
move 3 from 6 to 7
|
||||
move 1 from 2 to 9
|
||||
move 1 from 6 to 7
|
||||
move 4 from 4 to 1
|
||||
move 1 from 3 to 1
|
||||
move 22 from 7 to 6
|
||||
move 3 from 7 to 6
|
||||
move 4 from 7 to 6
|
||||
move 5 from 4 to 5
|
||||
move 26 from 6 to 2
|
||||
move 8 from 1 to 9
|
||||
move 2 from 6 to 5
|
||||
move 9 from 9 to 5
|
||||
move 2 from 9 to 4
|
||||
move 1 from 5 to 3
|
||||
move 1 from 9 to 5
|
||||
move 1 from 5 to 6
|
||||
move 1 from 4 to 3
|
||||
move 3 from 5 to 8
|
||||
move 1 from 6 to 2
|
||||
move 1 from 6 to 1
|
||||
move 1 from 1 to 8
|
||||
move 4 from 5 to 2
|
||||
move 7 from 2 to 4
|
||||
move 8 from 5 to 3
|
||||
move 1 from 5 to 7
|
||||
move 12 from 2 to 8
|
||||
move 6 from 3 to 8
|
||||
move 1 from 7 to 6
|
||||
move 10 from 3 to 4
|
||||
move 11 from 8 to 7
|
||||
move 6 from 8 to 3
|
||||
move 11 from 7 to 4
|
||||
move 1 from 6 to 3
|
||||
move 6 from 3 to 1
|
||||
move 6 from 1 to 5
|
||||
move 15 from 4 to 7
|
||||
move 1 from 3 to 5
|
||||
move 7 from 2 to 3
|
||||
move 5 from 5 to 9
|
||||
move 2 from 3 to 8
|
||||
move 1 from 9 to 4
|
||||
move 1 from 9 to 7
|
||||
move 1 from 4 to 5
|
||||
move 5 from 7 to 8
|
||||
move 13 from 4 to 1
|
||||
move 8 from 8 to 2
|
||||
move 2 from 2 to 7
|
||||
move 7 from 7 to 4
|
||||
move 1 from 5 to 1
|
||||
move 1 from 5 to 9
|
||||
move 3 from 8 to 9
|
||||
move 7 from 9 to 8
|
||||
move 1 from 5 to 2
|
||||
move 6 from 8 to 2
|
||||
move 6 from 7 to 6
|
||||
move 2 from 2 to 7
|
||||
move 2 from 8 to 3
|
||||
move 3 from 4 to 5
|
||||
move 1 from 7 to 1
|
||||
move 3 from 3 to 5
|
||||
move 4 from 4 to 6
|
||||
move 3 from 6 to 3
|
||||
move 11 from 2 to 9
|
||||
move 5 from 3 to 4
|
||||
move 1 from 1 to 4
|
||||
move 7 from 9 to 4
|
||||
move 1 from 6 to 4
|
||||
move 5 from 5 to 4
|
||||
move 9 from 1 to 3
|
||||
move 4 from 6 to 3
|
||||
move 2 from 1 to 7
|
||||
move 3 from 9 to 8
|
||||
move 1 from 9 to 5
|
||||
move 5 from 3 to 4
|
||||
move 3 from 4 to 6
|
||||
move 3 from 7 to 5
|
||||
move 4 from 2 to 4
|
||||
move 10 from 3 to 1
|
||||
move 2 from 8 to 9
|
||||
move 1 from 8 to 4
|
||||
move 2 from 2 to 9
|
||||
move 5 from 5 to 8
|
||||
move 2 from 6 to 3
|
||||
move 4 from 9 to 4
|
||||
move 2 from 3 to 7
|
||||
move 2 from 6 to 3
|
||||
move 1 from 6 to 1
|
||||
move 1 from 8 to 5
|
||||
move 1 from 5 to 8
|
||||
move 1 from 4 to 8
|
||||
move 17 from 4 to 2
|
||||
move 11 from 4 to 2
|
||||
move 1 from 8 to 6
|
||||
move 28 from 2 to 3
|
||||
move 10 from 3 to 1
|
||||
move 3 from 8 to 1
|
||||
move 1 from 7 to 8
|
||||
move 1 from 7 to 1
|
||||
move 1 from 6 to 5
|
||||
move 10 from 1 to 5
|
||||
move 20 from 3 to 5
|
||||
move 3 from 1 to 6
|
||||
move 3 from 8 to 1
|
||||
move 18 from 5 to 1
|
||||
move 4 from 4 to 6
|
||||
move 4 from 5 to 1
|
||||
move 1 from 6 to 8
|
||||
move 7 from 5 to 8
|
||||
move 2 from 5 to 3
|
||||
move 34 from 1 to 8
|
||||
move 4 from 1 to 7
|
||||
move 36 from 8 to 6
|
||||
move 6 from 8 to 4
|
||||
move 3 from 6 to 4
|
||||
move 1 from 1 to 2
|
||||
move 1 from 3 to 2
|
||||
move 1 from 3 to 5
|
||||
move 1 from 1 to 8
|
||||
move 1 from 7 to 2
|
||||
move 3 from 2 to 8
|
||||
move 3 from 8 to 1
|
||||
move 2 from 7 to 5
|
||||
move 5 from 6 to 4
|
||||
move 31 from 6 to 4
|
||||
move 1 from 7 to 3
|
||||
move 13 from 4 to 7
|
||||
move 2 from 5 to 9
|
||||
move 1 from 1 to 9
|
||||
move 1 from 3 to 1
|
||||
move 11 from 4 to 9
|
||||
move 12 from 4 to 3
|
||||
move 4 from 9 to 1
|
||||
move 1 from 9 to 8
|
||||
move 1 from 5 to 9
|
||||
move 3 from 6 to 5
|
||||
move 3 from 5 to 1
|
||||
move 11 from 7 to 8
|
||||
move 6 from 4 to 8
|
||||
move 3 from 3 to 8
|
||||
move 5 from 1 to 6
|
||||
move 1 from 7 to 3
|
||||
move 5 from 8 to 3
|
||||
move 2 from 4 to 7
|
||||
move 8 from 8 to 4
|
||||
move 5 from 8 to 2
|
||||
move 2 from 2 to 1
|
||||
move 7 from 9 to 2
|
||||
move 5 from 6 to 7
|
||||
move 6 from 2 to 4
|
||||
move 3 from 9 to 1
|
||||
move 3 from 1 to 4
|
||||
move 2 from 2 to 1
|
||||
move 5 from 1 to 2
|
||||
move 6 from 2 to 9
|
||||
move 4 from 7 to 6
|
||||
move 2 from 9 to 6
|
||||
move 1 from 2 to 5
|
||||
move 1 from 6 to 5
|
||||
move 5 from 3 to 1
|
||||
move 1 from 5 to 3
|
||||
move 2 from 6 to 1
|
||||
move 1 from 9 to 7
|
||||
move 3 from 7 to 3
|
||||
move 4 from 8 to 4
|
||||
move 1 from 5 to 6
|
||||
move 9 from 1 to 4
|
||||
move 4 from 6 to 8
|
||||
move 2 from 7 to 4
|
||||
move 2 from 1 to 9
|
||||
move 10 from 3 to 1
|
||||
move 7 from 1 to 3
|
||||
move 1 from 1 to 2
|
||||
move 1 from 2 to 4
|
||||
move 2 from 3 to 8
|
||||
move 6 from 8 to 9
|
||||
move 2 from 1 to 2
|
||||
move 30 from 4 to 3
|
||||
move 29 from 3 to 7
|
||||
move 2 from 2 to 4
|
||||
move 7 from 9 to 5
|
||||
move 6 from 4 to 8
|
||||
move 5 from 8 to 9
|
||||
move 5 from 5 to 7
|
||||
move 1 from 5 to 4
|
||||
move 17 from 7 to 9
|
||||
move 6 from 3 to 9
|
||||
move 4 from 3 to 7
|
||||
move 1 from 8 to 6
|
||||
move 17 from 9 to 8
|
||||
move 8 from 9 to 3
|
||||
move 1 from 5 to 6
|
||||
move 9 from 8 to 7
|
||||
move 3 from 9 to 5
|
||||
move 1 from 4 to 5
|
||||
move 2 from 6 to 1
|
||||
move 3 from 3 to 8
|
||||
move 2 from 3 to 5
|
||||
move 1 from 3 to 8
|
||||
move 10 from 8 to 4
|
||||
move 2 from 1 to 9
|
||||
move 1 from 8 to 1
|
||||
move 1 from 1 to 5
|
||||
move 1 from 8 to 6
|
||||
move 4 from 4 to 5
|
||||
move 1 from 3 to 9
|
||||
move 3 from 9 to 6
|
||||
move 1 from 9 to 8
|
||||
move 2 from 9 to 1
|
||||
move 2 from 1 to 7
|
||||
move 1 from 9 to 1
|
||||
move 3 from 4 to 6
|
||||
move 2 from 4 to 9
|
||||
move 1 from 1 to 8
|
||||
move 2 from 8 to 1
|
||||
move 5 from 6 to 2
|
||||
move 2 from 1 to 4
|
||||
move 2 from 9 to 1
|
||||
move 2 from 6 to 3
|
||||
move 2 from 3 to 1
|
||||
move 2 from 4 to 7
|
||||
move 4 from 1 to 5
|
||||
move 15 from 5 to 4
|
||||
move 4 from 2 to 5
|
||||
move 7 from 4 to 2
|
||||
move 4 from 4 to 5
|
||||
move 1 from 3 to 9
|
||||
move 3 from 5 to 2
|
||||
move 9 from 2 to 1
|
||||
move 3 from 5 to 4
|
||||
move 1 from 5 to 3
|
||||
move 1 from 9 to 7
|
||||
move 1 from 5 to 8
|
||||
move 4 from 1 to 6
|
||||
move 1 from 3 to 2
|
||||
move 2 from 1 to 2
|
||||
move 3 from 2 to 8
|
||||
move 14 from 7 to 2
|
||||
move 2 from 6 to 4
|
||||
move 19 from 7 to 8
|
||||
move 1 from 7 to 1
|
||||
move 23 from 8 to 2
|
||||
move 33 from 2 to 1
|
||||
move 1 from 7 to 1
|
||||
move 7 from 4 to 3
|
||||
move 1 from 6 to 2
|
||||
move 15 from 1 to 7
|
||||
move 6 from 2 to 8
|
||||
move 1 from 8 to 2
|
||||
move 1 from 2 to 8
|
||||
move 2 from 3 to 8
|
||||
move 3 from 8 to 5
|
||||
move 1 from 6 to 1
|
||||
move 2 from 4 to 7
|
||||
move 1 from 5 to 9
|
||||
move 3 from 8 to 3
|
||||
move 1 from 2 to 6
|
||||
move 18 from 1 to 4
|
||||
move 1 from 6 to 3
|
||||
move 2 from 5 to 1
|
||||
move 2 from 8 to 2
|
||||
move 5 from 1 to 9
|
||||
move 15 from 4 to 9
|
||||
move 5 from 9 to 5
|
||||
move 1 from 1 to 5
|
||||
move 1 from 1 to 3
|
||||
move 1 from 1 to 2
|
||||
move 3 from 2 to 8
|
||||
move 9 from 9 to 8
|
||||
move 11 from 8 to 4
|
||||
move 1 from 8 to 3
|
||||
move 4 from 7 to 8
|
||||
move 3 from 3 to 1
|
||||
move 3 from 3 to 7
|
||||
move 3 from 5 to 8
|
||||
move 3 from 5 to 3
|
||||
move 5 from 9 to 7
|
||||
move 9 from 4 to 3
|
||||
move 1 from 8 to 9
|
||||
move 9 from 3 to 7
|
||||
move 2 from 3 to 2
|
||||
move 1 from 4 to 1
|
||||
move 1 from 8 to 6
|
||||
move 10 from 7 to 1
|
||||
move 2 from 2 to 6
|
||||
move 2 from 6 to 8
|
||||
move 2 from 9 to 4
|
||||
move 14 from 1 to 9
|
||||
move 3 from 4 to 7
|
||||
move 1 from 6 to 3
|
||||
move 2 from 8 to 4
|
||||
move 8 from 7 to 5
|
||||
move 6 from 7 to 5
|
||||
move 12 from 9 to 3
|
||||
move 3 from 9 to 8
|
||||
move 8 from 8 to 2
|
||||
move 7 from 2 to 1
|
||||
move 1 from 7 to 2
|
||||
move 6 from 7 to 2
|
||||
move 7 from 3 to 6
|
||||
move 1 from 6 to 3
|
||||
move 7 from 2 to 1
|
||||
move 5 from 4 to 8
|
||||
move 2 from 7 to 9
|
||||
move 1 from 2 to 7
|
||||
move 4 from 6 to 1
|
||||
move 2 from 8 to 1
|
||||
move 1 from 7 to 6
|
||||
move 2 from 6 to 1
|
||||
move 3 from 3 to 7
|
||||
move 1 from 4 to 6
|
||||
move 7 from 3 to 8
|
||||
move 6 from 8 to 1
|
||||
move 1 from 9 to 7
|
||||
move 22 from 1 to 9
|
||||
move 2 from 7 to 2
|
||||
move 3 from 3 to 2
|
||||
move 5 from 1 to 3
|
||||
move 2 from 2 to 7
|
||||
move 2 from 6 to 9
|
||||
move 3 from 9 to 4
|
||||
move 2 from 4 to 5
|
||||
move 1 from 4 to 7
|
||||
move 1 from 1 to 9
|
||||
move 13 from 9 to 7
|
||||
move 3 from 9 to 5
|
||||
move 14 from 5 to 3
|
||||
move 5 from 9 to 5
|
||||
move 2 from 9 to 7
|
||||
move 9 from 5 to 3
|
||||
move 15 from 3 to 2
|
||||
move 12 from 7 to 3
|
||||
move 3 from 2 to 7
|
||||
move 8 from 7 to 5
|
||||
move 4 from 8 to 9
|
||||
move 1 from 9 to 6
|
||||
move 1 from 7 to 5
|
||||
move 14 from 2 to 7
|
||||
move 2 from 9 to 4
|
||||
move 1 from 6 to 5
|
||||
move 18 from 3 to 2
|
||||
move 5 from 3 to 9
|
||||
move 2 from 3 to 6
|
||||
move 2 from 4 to 8
|
||||
move 15 from 7 to 6
|
||||
move 1 from 9 to 1
|
||||
move 2 from 8 to 3
|
||||
move 1 from 7 to 9
|
||||
move 6 from 9 to 6
|
||||
move 2 from 3 to 7
|
||||
move 3 from 5 to 8
|
||||
move 8 from 5 to 3
|
||||
move 2 from 7 to 9
|
||||
move 22 from 6 to 9
|
||||
move 12 from 2 to 3
|
||||
move 1 from 1 to 9
|
||||
move 1 from 2 to 6
|
||||
move 1 from 6 to 5
|
||||
move 6 from 2 to 6
|
||||
move 7 from 6 to 3
|
||||
move 20 from 9 to 4
|
||||
move 5 from 9 to 3
|
||||
move 7 from 3 to 5
|
||||
move 14 from 4 to 6
|
||||
move 2 from 4 to 1
|
||||
move 2 from 8 to 3
|
||||
move 2 from 1 to 5
|
||||
move 9 from 6 to 1
|
||||
move 20 from 3 to 4
|
||||
move 5 from 6 to 8
|
||||
move 1 from 5 to 9
|
||||
move 1 from 9 to 6
|
||||
move 9 from 5 to 7
|
||||
move 1 from 6 to 5
|
||||
move 2 from 3 to 4
|
||||
move 4 from 8 to 2
|
||||
move 2 from 8 to 4
|
||||
move 3 from 3 to 7
|
||||
move 5 from 1 to 7
|
||||
move 4 from 2 to 7
|
||||
move 1 from 1 to 3
|
||||
move 3 from 3 to 6
|
||||
move 4 from 7 to 3
|
||||
move 1 from 1 to 4
|
||||
move 3 from 3 to 5
|
||||
move 1 from 1 to 7
|
||||
move 28 from 4 to 3
|
||||
move 20 from 3 to 5
|
||||
move 16 from 5 to 6
|
||||
move 3 from 3 to 2
|
||||
move 2 from 3 to 6
|
||||
move 6 from 7 to 5
|
||||
move 1 from 3 to 6
|
||||
move 1 from 2 to 1
|
||||
move 10 from 6 to 8
|
||||
move 2 from 1 to 5
|
||||
move 1 from 4 to 8
|
||||
move 1 from 6 to 9
|
||||
move 2 from 2 to 5
|
||||
move 10 from 7 to 4
|
||||
move 2 from 3 to 4
|
||||
move 1 from 3 to 8
|
||||
move 1 from 9 to 4
|
||||
move 6 from 4 to 1
|
||||
move 10 from 8 to 6
|
||||
move 1 from 1 to 4
|
||||
move 8 from 4 to 9
|
||||
move 3 from 1 to 5
|
||||
move 14 from 5 to 8
|
||||
move 2 from 7 to 5
|
||||
move 3 from 9 to 7
|
||||
move 5 from 9 to 5
|
||||
move 2 from 7 to 3
|
||||
move 16 from 6 to 9
|
||||
move 3 from 6 to 3
|
||||
move 1 from 1 to 5
|
||||
move 1 from 1 to 4
|
||||
move 1 from 7 to 3
|
||||
move 2 from 6 to 1
|
||||
move 2 from 5 to 7
|
||||
move 2 from 7 to 1
|
||||
move 3 from 3 to 8
|
||||
move 12 from 5 to 4
|
||||
move 1 from 5 to 8
|
||||
move 1 from 1 to 4
|
||||
move 9 from 4 to 1
|
||||
move 11 from 1 to 7
|
||||
move 10 from 7 to 4
|
||||
move 3 from 3 to 7
|
||||
move 1 from 1 to 7
|
||||
move 5 from 4 to 5
|
||||
move 8 from 4 to 1
|
||||
move 1 from 4 to 1
|
||||
move 5 from 5 to 4
|
||||
move 2 from 7 to 5
|
||||
move 2 from 7 to 3
|
||||
move 9 from 1 to 7
|
||||
move 16 from 8 to 5
|
||||
move 3 from 8 to 7
|
||||
move 6 from 4 to 3
|
||||
move 17 from 5 to 1
|
||||
move 14 from 1 to 2
|
||||
move 7 from 2 to 4
|
||||
move 5 from 2 to 6
|
||||
32
day5/part1.py
Normal file
32
day5/part1.py
Normal file
@@ -0,0 +1,32 @@
|
||||
input = open("./test.txt", "r")
|
||||
|
||||
stacks = []
|
||||
moves = []
|
||||
|
||||
count = 0
|
||||
|
||||
def parseCrates(iLine):
|
||||
crates = []
|
||||
crates.append(iLine[1])
|
||||
crates.append(iLine[5])
|
||||
crates.append(iLine[9])
|
||||
stacks.append(crates)
|
||||
print(crates)
|
||||
|
||||
def parseMoves(input):
|
||||
command = []
|
||||
for item in input:
|
||||
if (item.isdecimal()):
|
||||
command.append(item)
|
||||
print(command)
|
||||
|
||||
for line in input:
|
||||
if (count < 4):
|
||||
parseCrates(line)
|
||||
if (count == 3):
|
||||
count += 1
|
||||
count += 1
|
||||
if (count > 4):
|
||||
parseMoves(line)
|
||||
|
||||
print(stacks)
|
||||
0
day5/part2.py
Normal file
0
day5/part2.py
Normal file
9
day5/test.txt
Normal file
9
day5/test.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
move 1 from 2 to 1
|
||||
move 3 from 1 to 3
|
||||
move 2 from 2 to 1
|
||||
move 1 from 1 to 2
|
||||
1
day6/input.py
Normal file
1
day6/input.py
Normal file
@@ -0,0 +1 @@
|
||||
tzltzltthfthtdtstftbfbnffdjjvnvcccnznpndppsvvlnvlnvndntnllwffvwwcpwccssqbqnbbwzbwwfjjscspspfsfvvzjvvmjvjwjljbbbqtbbcqbccdqcdcpddnvnjvvqwwbrbggjllhbbzlblrrrcwwrfrmffgddfsddnqnqpnnmzzwlzwzqwqgqnngnfnvnhvvfnvvszzrbrqbqnbbrsbsvssgngwgqwqbqsbsvbbdvdfvdvbbqlqdlqdllnppwcclwlvwlwjlwwdjjjcschhhmrrnnrznzlnnwmnwnfngghngnpggmrrzrttdbdtddjhdhrrqddnhnjjntjtbtmtffwcfcnfcnfnjjfnjfjjhrhhgfgttgmttltfllfqfnqqcbbrlblrbrcrssrllhddmnddmcdddvttfdfqfmqqcncggczczdccvhcvcjvvgnnqttltcchzhjjwmmqvqtqnqbbhddcqdccnwccttgwwzssncncjjprjjpbprrndnrnrhnhrnhngnhhbjbccpmpmrppjvpjpqjjsvjjhttcclmmqzzlggtqqqgdqqbhhtmmqfmqmwmjwmjmmnsmsvsrrvpvhhtshhhmqmdqqqqlfffwgwhwjjrfjfmfrmffgzzjvzznqqwggcvcnvvcpvpjpjbpbrpbrrzhhcffqqlzzrmzrmzmzrrqdqrqnqrnrnqnrnsrrnjrrgllgqlljldjjmvvqbqhhsmsmddsfdddcmmphhtjhjzhjjjhcjjzppwhwvvdnvnvpnvnlnvnffrjjtzzdqzzngzgqghhmvvgwwqhwhlhvvfzzdpzddtbdtbtvtlvlqlllvvdvsdsslccbscsbbcggldlvvdccdscdsdzsddpggcfggnffpjpnpcncfcqqlvvszzbpbqbcqczcqzcqzqqlrlwwbgglrrbgbhhlbbsffrprtpppdwdhwhbbpssvbvnntbbfnfddmmfcfcjfftbfbdbccngcgjcjtjftjffrwwtwlwddczcnzczpzcpccrqcrczrzcrzzhnntgtqgtgztgzzcpphshwswfwqqnzngzzbpzzpqpzqznzdzmzqqjzzhnhvnnqjnnrdrcctdtppsffzvvwvbbpttsrsspsddfvvfllrtlljpjlplcctthbbgbqgbgmmpwpvvghvhfhwfwcwvwrvwrvvcgccdncddbmbmfmlffgqggrzgzhhzfzdfzfhhzdhzhjzjhhbffrtrjtthssbpspddpttrggdndsnnjwwzrwrvvmqvmvdvhvjvnnqmmhrhrzzzwttnftfddsdfsfjsjcccvhvgvgzvgzvzbvvhwhbbpccfjfllgmlggtbggdsgsmmmnznqnhqhrqhrrtthwhqqvzqvvvqgqffpvptvpvwvbvsscsnnhlnhhzrzjrjrllcffpqpbpsbbflblppqffbqqpttccdgcgdgfdfgdgjddjljpljppdspddflftllhchmcmwcwddrqqsdsswwmwwwjdjvdvwwcgcddmhhqtqvqmvvnffqppnvpphpnnshsmhmdhmdddlnlmnmsnnpttlfttnqnhqnqrnrddplplbpbdpdhppccbnbwwpwzwgwdgdnggcmmtnmnznmzmwmrmtrrjppjgjmggndgnnjzzrczzftztzgzvgvddgmdgmgpmmgjmmnrrmvmnvvhqqggsnnplnlnbbrcbbpphssnqsnspnncfchhvjjdjvjfjddbjbddhlllpdnrhtzhqpphzfbjclncdlrbtzhcwslpnstdvjslnzfrvfdlmpgpfhrqtjvqvjlqgdcjrbjtjrgvbfwjzsvrbmffnhvjqnshvdjbgwmpwlfjznngzpqbvlztnvgvjsnwvhpfwbhfsmjgwwjdrrwbtvpwtzvjfhwrmnrhdsvgpgdsfgndmffqfplsgjrsvztzlznqsrbldbmmhqmjtrzscrbwlpgztlrvllprnhzsvtnvwzmjwqhqpjqhntcrscwcdnwzpvbdczzcmzrmdwthdtszqzftcsfbwfqggpcntfrgwpmjpdzjnczwcjmdjnrqjfwqbznznmcdvzqlpqschnmcfqjjrjwfmqqftfdhdzffvshqbmrgrpvlgqcgsbsngttvcpjswdgrhbblrhjllfbzngqjzzbdwtnlnrbpftvwbmrhvcnntdrbvtrtpcsqdsrvpsgggfpwcbzhwhwmmmmmgjzgdtwnzjdwjfljghbjvjnsgshmdpztnbbrnwfvzhtzqpzttftdmcmqzlnrgncwwtpwqrgmpmwwchwhbbbblcndbsrrqtnztcmqhvdwfcswnswvhqdtqfdrhjgczqvrzqczmnpcgbwntjvlsfrzrrjtsvfzfmbwwsftwqvttpjvbggrlcspnfhwwmrhdbbhdcjvmrhppvcmtmfhszjlcjjsdqfvjttcmffwzfpmjmjzhcrqmhhwzhjlnwphvvhmrbllsvpjljthjndffrdbmdjncnmdtcwfwjdwnrdlvqsbzczlhwrtpnzfwzzwbrqpglgvrjsnsprvwszmlrjcdgzwchmcqrjdlzqfvqwwfszpptprhcfsdfcrnhvhgvcdwgnqzjtmgznltbjjqwzlljrqcmpdncshzvsmvjwlmvtwbtjcgmqfslvwcfqpljzdjmdvqjlztbsbshcwhlvzcmzljvrrhrbzwvthgtnszpcrrdwcmtdncdzlbdscfbhrlqttcfshqrsgvzhlcnvfhppdqvblsznmctftmnslwgbmbgshgwvmzpdnmqmjgqnvrwprmbzrdprrbcwnslczvzgnssjqqzdrlntrnsrgbjjcpqvnqwvnwgslchqzbphcqsbvgvwzlnsndfrhqjvtlnqpcsgswzfvhjmfgwgfvhjgzntdbztmjsbmtwlfmvvgvztvwwmqclcgctqbvljgfngcvfqlmmvqmbtrnnbhqjjndzqhvvdztjgvwgrtltfrlzrjcpgwvpqwmcwmqccjtjhhbrrqphlpljvhjzpdfcdsgzfpnzdzhfdqjsnrvmwstrmmwmlhbvrjbtnmvwcqnzqzzpwzjdnfhqwwlsvgnnjgffzcnrtbjfwllnrgppchqwnfpwpgnfbvwcbjrlscnwlswjmnrcrhtdhgpzvgtfcqzgqtwvlhrgbmjvvzhrlzfvmrdjjctvfwsgmjwbqslhmjlcvlwrdqfmbhcfrmrvqtslplwpsgrfmntmtvmvqttbspmftgqdzlcfplcvvfmmjttwqjpdtjzzsfjcprvbwdvfrpzddhwrlmsnpjzqgdlfdzvdjnjtgtfflzzvjlmnnvmglrptsnppwscznltcvzfjmwshnsqsvsjpqwsqlbwzslhgrdcbbvcjspqfntbcpwwrphgpmwbpqdcfvvtlsgpfshtcrdftsltwnbnmzfwcwlmrhlntmmnnpsdchvntcwbnmjdgwcmzzvbrhbdbmlgwppzwsqvcccdbfzfsfhtmbppnwbtjvrvjtmddhmrjdqgnmrnjjpqsgtbgcvtclzzstlpldtqbnnvqjfbjcfzblvcwhjphzcgwfljjhzzmwdcrzsssznztcwpjlbcffnlmsfjbmtvhhcljmtqdprdmdgwgpnnlmhgwpsgprfqnspmntrdjwjmrflsbfpqhzswbsrdbdhjmvtwmjjnmpllgfllzgwwmswjcmggbrvsbbhjmsdzzpbhbrlphwdsmjdzsqjfrmdmpljnwscjrhdvzqbhhvpmhwqfrrhzlncrrrzhmjdwqjcbsqjbhbdbjzpslrnnbzctnnlhqmqqbdzfbrpfgwsrdglnplpspnnqhtbhzhzgtchcbqcmmcmvlllczqbtmbstzmnlhhhbmmbtjwnbgwjbfhgvfhqlsgdnnrsgghjzjlqfwbbgztdqzbhhwhcwtjwsgstjpzcjjvqbpfpvlqfqshvfzbwmfcwfgqvgmbppfvzgzznzhsqbvzlztsnmnrbgqzbmbhlvqhfncdfcpttgzpvvzdbhvqdtqsblqvrsrnmsfbqhrpvlzffdzptzghvmbmdzjrsqzhqddqm
|
||||
14
day6/part1.py
Normal file
14
day6/part1.py
Normal file
@@ -0,0 +1,14 @@
|
||||
input = open("./test.txt", "r")
|
||||
|
||||
for line in input:
|
||||
lastFourChar = []
|
||||
position = 0
|
||||
|
||||
for char in line:
|
||||
position += 1
|
||||
lastFourChar.append(char)
|
||||
if (len(lastFourChar) > 3):
|
||||
# figure out comparison logic here
|
||||
print(lastFourChar)
|
||||
if (len(lastFourChar) == 4):
|
||||
lastFourChar.pop(0)
|
||||
5
day6/test.txt
Normal file
5
day6/test.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
mjqjpqmgbljsphdztnvjfqwrcgsmlb
|
||||
bvwbjplbgvbhsrlpgdmjqwftvncz
|
||||
nppdvjthqldpwncqszvftbrmjlhg
|
||||
nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg
|
||||
zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw
|
||||
Reference in New Issue
Block a user