initial commit
This commit is contained in:
commit
27fe77bbe1
134 changed files with 21939 additions and 0 deletions
6
2022/Day1/Day1.py
Normal file
6
2022/Day1/Day1.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
if __name__ == '__main__':
|
||||
with open("input.txt", "r") as f:
|
||||
weights = [sum([int(i) for i in nums.split("\n")]) for nums in f.read().split("\n\n")]
|
||||
|
||||
print(f"Solution 1: {max(weights)}")
|
||||
print(f"Solution 2: {sum(sorted(weights)[-3:])}")
|
||||
2256
2022/Day1/input.txt
Normal file
2256
2022/Day1/input.txt
Normal file
File diff suppressed because it is too large
Load diff
0
2022/Day10/Day10.py
Normal file
0
2022/Day10/Day10.py
Normal file
0
2022/Day10/input.txt
Normal file
0
2022/Day10/input.txt
Normal file
0
2022/Day11/Day11.py
Normal file
0
2022/Day11/Day11.py
Normal file
0
2022/Day11/input.txt
Normal file
0
2022/Day11/input.txt
Normal file
0
2022/Day12/Day12.py
Normal file
0
2022/Day12/Day12.py
Normal file
0
2022/Day12/input.txt
Normal file
0
2022/Day12/input.txt
Normal file
0
2022/Day13/Day13.py
Normal file
0
2022/Day13/Day13.py
Normal file
0
2022/Day13/input.txt
Normal file
0
2022/Day13/input.txt
Normal file
0
2022/Day14/Day14.py
Normal file
0
2022/Day14/Day14.py
Normal file
0
2022/Day14/input.txt
Normal file
0
2022/Day14/input.txt
Normal file
0
2022/Day15/Day15.py
Normal file
0
2022/Day15/Day15.py
Normal file
0
2022/Day15/input.txt
Normal file
0
2022/Day15/input.txt
Normal file
0
2022/Day16/Day16.py
Normal file
0
2022/Day16/Day16.py
Normal file
0
2022/Day16/input.txt
Normal file
0
2022/Day16/input.txt
Normal file
0
2022/Day17/Day17.py
Normal file
0
2022/Day17/Day17.py
Normal file
0
2022/Day17/input.txt
Normal file
0
2022/Day17/input.txt
Normal file
0
2022/Day18/Day18.py
Normal file
0
2022/Day18/Day18.py
Normal file
0
2022/Day18/input.txt
Normal file
0
2022/Day18/input.txt
Normal file
0
2022/Day19/Day19.py
Normal file
0
2022/Day19/Day19.py
Normal file
0
2022/Day19/input.txt
Normal file
0
2022/Day19/input.txt
Normal file
49
2022/Day2/Day2.py
Normal file
49
2022/Day2/Day2.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
if __name__ == '__main__':
|
||||
with open("input.txt", "r") as f:
|
||||
rounds = f.read()
|
||||
|
||||
signsWin = {
|
||||
"A": "Y",
|
||||
"B": "Z",
|
||||
"C": "X"
|
||||
}
|
||||
|
||||
signToSign = {
|
||||
"A": "X",
|
||||
"B": "Y",
|
||||
"C": "Z"
|
||||
}
|
||||
|
||||
signLoose = {
|
||||
"A": "Z",
|
||||
"B": "X",
|
||||
"C": "Y"
|
||||
}
|
||||
|
||||
signsToScore = {
|
||||
"X": 1,
|
||||
"Y": 2,
|
||||
"Z": 3
|
||||
}
|
||||
|
||||
score = rounds.count("X") + rounds.count("Y") * 2 + rounds.count("Z") * 3 + rounds.count("A Y") * 6 + rounds.count(
|
||||
"B Z") * 6 + rounds.count("C X") * 6 + rounds.count("A X") * 3 + rounds.count("B Y") * 3 + rounds.count(
|
||||
"C Z") * 3
|
||||
|
||||
print(f"Solution 1: {score}")
|
||||
|
||||
rounds = rounds.split("\n")
|
||||
score = 0
|
||||
for current in rounds:
|
||||
hisSymbol, result = current.split(" ")
|
||||
|
||||
if result == "X":
|
||||
score += signsToScore[signLoose[hisSymbol]]
|
||||
elif result == "Y":
|
||||
score += signsToScore[signToSign[hisSymbol]]
|
||||
score += 3
|
||||
elif result == "Z":
|
||||
score += signsToScore[signsWin[hisSymbol]]
|
||||
score += 6
|
||||
|
||||
print(f"Solution 2: {score}")
|
||||
2500
2022/Day2/input.txt
Normal file
2500
2022/Day2/input.txt
Normal file
File diff suppressed because it is too large
Load diff
0
2022/Day20/Day20.py
Normal file
0
2022/Day20/Day20.py
Normal file
0
2022/Day20/input.txt
Normal file
0
2022/Day20/input.txt
Normal file
0
2022/Day21/Day21.py
Normal file
0
2022/Day21/Day21.py
Normal file
0
2022/Day21/input.txt
Normal file
0
2022/Day21/input.txt
Normal file
0
2022/Day22/Day22.py
Normal file
0
2022/Day22/Day22.py
Normal file
0
2022/Day22/input.txt
Normal file
0
2022/Day22/input.txt
Normal file
0
2022/Day23/Day23.py
Normal file
0
2022/Day23/Day23.py
Normal file
0
2022/Day23/input.txt
Normal file
0
2022/Day23/input.txt
Normal file
0
2022/Day24/Day24.py
Normal file
0
2022/Day24/Day24.py
Normal file
0
2022/Day24/input.txt
Normal file
0
2022/Day24/input.txt
Normal file
0
2022/Day25/Day25.py
Normal file
0
2022/Day25/Day25.py
Normal file
0
2022/Day25/input.txt
Normal file
0
2022/Day25/input.txt
Normal file
32
2022/Day3/Day3.py
Normal file
32
2022/Day3/Day3.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
def itemToPriority(item: str) -> int:
|
||||
if item >= 'a':
|
||||
return ord(item) - (ord('a')-1)
|
||||
elif item >= 'A':
|
||||
return ord(item) - (ord('A')-27)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open("input.txt", "r") as f:
|
||||
rucksacks = [line.replace("\n", "") for line in f.readlines()]
|
||||
|
||||
actualItems = []
|
||||
|
||||
for rucksack in rucksacks:
|
||||
compartmentLength = len(rucksack) // 2
|
||||
compartments = [rucksack[:compartmentLength], rucksack[compartmentLength:]]
|
||||
for item in compartments[0]:
|
||||
if item in compartments[1]:
|
||||
actualItems.append(item)
|
||||
break
|
||||
|
||||
print(f"Solution 1: {sum([itemToPriority(item) for item in actualItems])}")
|
||||
|
||||
groupIdentifiers = []
|
||||
for i in range(0, len(rucksacks), 3):
|
||||
currentSacks = rucksacks[i:i + 3]
|
||||
for item in currentSacks[0]:
|
||||
if item in currentSacks[1] and item in currentSacks[2]:
|
||||
groupIdentifiers.append(item)
|
||||
break
|
||||
|
||||
print(f"Solution 2: {sum([itemToPriority(item) for item in groupIdentifiers])}")
|
||||
300
2022/Day3/input.txt
Normal file
300
2022/Day3/input.txt
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
mmbclcsDHCflDDlCrzzrDWjPJvjPvqJPjfpqZQdfWd
|
||||
NNFLnFRNhgNQtMLSFSgwSwGJPZWLPvjpjjJGZJPvWPvJ
|
||||
BnwFNgVVhwNwVQrmzbrrCHVTmDsm
|
||||
CTsVssjPTWPbzhfbfqqpbqJq
|
||||
RRttdQlRdnNpdmwBnBDhFrGrqDGBqJJfJD
|
||||
HttgcggdNwQtgcpTsvjVPTcssjsv
|
||||
bWrpnrpPcFNbfPtwVPddVVDw
|
||||
jLgqqJgjZLhHjRqLHLjqHgftpmJVtTmwQmtGddwwDVJm
|
||||
HhzgshZLpHLjqhLLZRZpLRbbrlBNsrrNsFWcCvvFCcNN
|
||||
PCJJfJhjhzjjdBVBcd
|
||||
RnNnMHnRNtWnBSQHVbqSzFcq
|
||||
ZlnZZZNmLrNrgZmmccGJwGwmGPJs
|
||||
hFZLsjjjMzwPPjqw
|
||||
SQtTcpWWcpMSDlQpDCQJqbHzdSzPzJvPPwqqvH
|
||||
tVfpGWGDVlCGGDCpVWppVcrZFMrnmnLfsrBrnngLmMBh
|
||||
PFPhCmpfhSMWnmgrtgMW
|
||||
RRQdGQvTQRzQDGQTQcRqTTQLvsntnltvrWZlsWlZftntrMtt
|
||||
NQTzfGfzcdTBhPJSNJbCCVhJ
|
||||
sbtqfrqNfcdqsJrfhzQmzhpvzvpQmpNG
|
||||
SHsSDsZVHBHnRZDBZRWSVDnwFhzvphggwGhQzQhgwzmmPzmg
|
||||
jjHVHBlHljMsJjbbCcdttc
|
||||
NccBbvbNZbbvBGPVTGhhlCZCPg
|
||||
tdWHQtLLMrrdWQRqWrMrMrMPsTPThDlTssFFCFCVTDtCDC
|
||||
zzWmMQQLVQrWrbBczNnwNbnpnN
|
||||
THGhBHgHThvnHRrQRpMNSwZSMrwD
|
||||
szsCzWljNfVFFVllPPzzVWJMJZQMJbpSrwQCCJMDZbbb
|
||||
WzlfFlflfcmfsFPVfWVVhnNgchHndHgdTnqdNHTh
|
||||
zPhDwsWgszftMNfPjjLL
|
||||
RTRbbJFHSrqRRrHRrjGQBnfjQQMjLnmNnF
|
||||
ddpNSNNpSdWsvpllWzsl
|
||||
FgDgbSMnhhntCLCC
|
||||
HlqzJgPfJJgmrthhrtTLqL
|
||||
fjfQgJPGVjwGJcFMcSvdScWjMD
|
||||
pnFwRPlVVlLSwpGbvSmZHmbbdbHm
|
||||
sCzTQtzrrQMzpthTdvbGHdvdHNsZqqqZ
|
||||
ChTTWhWBWCDrrTrjCrhtLwwLFgfLFgjnpfpwLnVg
|
||||
MRDfBDMJsQdmGWsM
|
||||
pFPqwswhGzWSCwGN
|
||||
jphpbgbqgFnqjjnthLtJsZfJRHfllfTllDLflJ
|
||||
sdbLCqnbllplrdrsqbZHRPRBcBcBZBcHcZrM
|
||||
JJFwDDQmzfmhmWhJhwFWbMbcNBNRBBzbNPHcMHPj
|
||||
DFWVQVGGGbpGClllqLSl
|
||||
mRmFhZRsmFJfFRzwRrFrqmRFtNLLDTPccVqVtGTLDnPccPDN
|
||||
SBddBlZMjpQvvBbZvVDTtDTDDVGnLTMPVT
|
||||
dCHWlbHbdbllsRCCgFwrrZCJ
|
||||
hwvwFHhlTLwpLDQhpHwTwBLSfvzSZZsvVsqCGqzZSfCvVG
|
||||
WNdtmjPjcWdWJWntcWbjzmFzrrVrzsGzsVsSVrZZ
|
||||
PbJPntMRbbdJbcNPcNFjnhlwwgpDHRBpggTlQThhpQ
|
||||
mJvRGHfWmvWJJVmZZnZVffpglGggrTLNzLwNLrszzNpz
|
||||
FqFMMShqjcMcqPbbjPthNgRggPgLwPsgLgszwNpl
|
||||
DFQqQMhRhDRmWndDnJvmWW
|
||||
jVzfvzSVpnnNSGjjVpNlSNDzqBBmWCBtWWtfFFCCmPmJCCJW
|
||||
HLrRLhwrMZbHrWqWBhGPCGBFJW
|
||||
wHHMRMQRQrcQRTTcHrwwRcQbDnpvnppzGSnvnSNzDSNTpjnS
|
||||
qzrgfppGzPDJHfbZbHZn
|
||||
vTsMvMTclhNlFlFhdhdqHHmHJSJDVJnJFFwJHHDn
|
||||
slccWTTTcdCcCqRQPrzgBWPPRz
|
||||
thfHHdDwbnVzwwdthZlqjZmmTmjfZcfMQl
|
||||
sGFGJFFvGpFPCJvLPGPgZlpmlTMcmlmZrmMjcr
|
||||
sJGLSWRSPBBCCPRFWPsNBNwMNNVMNwBzzMDhnh
|
||||
RwJMwdbzMGWbLtLVQpPl
|
||||
gqNfBmBjNmcCqjqjQllWhhQlgDQtpWlh
|
||||
cfccjmcNmHrHBmCBcTMGtTJtZzrTvddRGR
|
||||
vbbvqMhcrqMQQLHHvFvHHvpPlnPLfVfPnfmwsNwwwlnVls
|
||||
ZdBZZgDRDzBRJWBzzDZjDDNWNnNnPfwNPwmSwlnCnfCW
|
||||
JgRggTDtZmmbbFqrvT
|
||||
lSgzfSzgGcNfDPsbMpspbPnnrrVV
|
||||
FmWFBFQHBJJBmmWJFHWFrwtsVrMbnrVVwwwpWMMp
|
||||
FFmmJmvZjQBRQRRQZQBvNNglRhDNDffDSDSMGlDD
|
||||
VQPBCZVfHQZGRVVpmzPFmgSgbSPTFb
|
||||
NcwLjcWnFhCpLvCF
|
||||
tNCDtsqltDwtWdncJZVJVRMGdBQffHZH
|
||||
pTzgPsLQfMLqTVFLGbVbbFVJVF
|
||||
ZnjgjvSwNNbFJVwN
|
||||
jWcCnWHWRvWRHHnWRWjvdZnZtspMqfzrMqfQtTPQgfPzfzcM
|
||||
CTqHMNSSVnpjNSTFzMwPdslwnlPccbblgcbd
|
||||
WDLqvLQRfLBgbJPwlWgdPd
|
||||
QRBqqDmZZRBGGfCTpCCSMSmzjSpz
|
||||
bPlRhmnPhTwhrvrlRrjgLjgsLpszFldgFlgF
|
||||
tGHWfcQHWfLZnsLQnjpn
|
||||
cVGtCtGGcNWcWtBStqnWrwmvmbmJwJPwbRBhRRMb
|
||||
BjVTVfBsLlLjLcBcZDRJpnJRDPRJqlPRqJ
|
||||
SzbQMQzFgfFzmMSrbzGpqqRDtqmnvDHtvppHDm
|
||||
CrSQSdgrWdbFQCWggjWZTfBWcwBcTVBjTs
|
||||
RtqdCqCTbRfRbbHR
|
||||
FhwWWqgGJJgJHLHPFFsDbsFP
|
||||
MrpmmwqhMmJMwpvlNvtlTrvtZSSr
|
||||
VscvcmcmbhDrRMCCJlqnSlJnSljR
|
||||
FWdwWgpZgdBLTgTWFwZBgWpjbCNqPptCSlNCStnSJJNPPJ
|
||||
FdFWGgWTQGGbGvvDHDHzMD
|
||||
WhhBJrBqBchcQBBqcqqGRZRlrtStlSlRszlzSSRl
|
||||
fHdwgdjbNCbCCHNgPgHNPNplSRtQtltlRDZsQfZsZMRQMR
|
||||
jQbQNwVNvWFJvqcV
|
||||
bjbmmgSjwTWqWwWqcw
|
||||
sQGfPZQDPqMMWWWd
|
||||
fqBDfqqZZGHGDsNLjtmlttpgBllpJt
|
||||
ZDmCWtftfWBLfRDWwbhqcNNtqwjtjwqt
|
||||
SnTTsnlPMTlSSsGMMSddSbHjhwJwwjPbcvHwLwcqjj
|
||||
GrFGzSgnTzLgDVfQfQrrDDfm
|
||||
PngprCCmcBDssRFBSbFRRs
|
||||
fjwHtjfNWfGwHfdtjGMdWSSdQTsQRLFSSslPSFTRlS
|
||||
jGjMwMffWHNZfhwnDzqCpZDgrqCcPr
|
||||
qzGPbzbDZGSPvpvrTvQsQwLWWNLj
|
||||
tFddBhgnVnMMhBhLJWLwjQMwMrMLwT
|
||||
BHFtVHgtmlhRRZmSTDTpSq
|
||||
ZwzLWWWvWdSJdJQwQLzBqqbbhhCcNzchqCNPhb
|
||||
rHfDRfHGfHsGTPPmhmrrNhjmNg
|
||||
GlfsfRTfsfRtsstfDVHpGsPSFQJSWQMJwdSLwQWpZZLd
|
||||
vnvJvpJtQwDBTljHlLHhDL
|
||||
zzGqMwqMqbfRfVGzFmLmLTLddjmTSRLBBB
|
||||
zGfrbqzwNvPPcCtr
|
||||
jwCwSgvPSmCwSqwgbCRQGvsRVnddGZdflsfB
|
||||
MhzHLWpMWHHzNzMccDHdnZVZRZRGQnGlGRGLsZ
|
||||
nccNHTzWHDcMWHcphpptDrcDJmSgFTPjgPFjTjgSbqJSJqbg
|
||||
bVhPWqBBbdbdPqVVqhSfpcmFsfwLnmmjnfBFmn
|
||||
TDWDGzgRvrNJJJrzzzGspwpjncsncFmwFmsNfw
|
||||
vMDgDJRWgDJtHDJMMPQQMdQlqdlhZZQbbC
|
||||
SpdpQqLwrDcmPhggcS
|
||||
ZHCZstHMhjGmtPDc
|
||||
NNnnRHMZNzTMHZZTTsZMvvRhJJwWzBVLVQJJqWwVhwJpdJ
|
||||
mrlMQlQPPPhhCbZRNpRZcffmFmgc
|
||||
VvJVJqDqvqjDqvtVttVSHTTHLLcggBNBBSRRFfRLncfFLpBB
|
||||
jHVHvdDHtJjtDWjwMhWwhwwwlNswPr
|
||||
MJvzvFLhbTnJCvRwWSTmSWWWmRpc
|
||||
tlVlNqBsVNNBQPrWgqmcgfwpcWpdcg
|
||||
ZBjHPsttQrPrrVsBQpVJzhZhvnnbMMLvFJJZMJ
|
||||
hBfJffJJNhnDlmQdnmSGcd
|
||||
sQrCpRsPCrwFZQprpQCzljdjMMjMGGdGSmgSFFDS
|
||||
zZpzQpwzHRPPTrQwCpRzWZHqLVvtBJvbBtVJhJLhHtLbVv
|
||||
DsPnQGnnwlVJbSsb
|
||||
HCfCfTDMTfHvCWMZDcRVVSwpbtlhVZbhhpVllp
|
||||
TmCMTvfjRCCvcrgNNPQDmNzrLF
|
||||
ghwNtnMMRTZtwTphjjBQfLJjfJFdSBTL
|
||||
lldzbqzrCrfLJJBBbSWj
|
||||
DCvlvqvshNhRndGs
|
||||
rWwWWDJWWrFLdRWtRhFZTCbCSqThFTCbmm
|
||||
BgMvSzvMpVpBlQNQVgfqhhGCbGbThQZTcbZTCs
|
||||
nMpfjVMnzlgRSrnHnwdSDH
|
||||
blFhFgFgPLvjDwNvWPnD
|
||||
qMBzMCCzZMzJHRrzMFZsnFjQdZnvvNvvWQ
|
||||
FzpMpGMRrlSSghLhtG
|
||||
hDlVfDdSTjTJwjMTZT
|
||||
HgnqtGgQRgRHGtrgqgSZJCrwBZZCrZwWJWjMWZ
|
||||
zqRbGNSbbGRRQGRQFzddfVDLVhhfhddV
|
||||
JwhLdLNLbwmJggCbbbhjHnDQNZWQWQjWZZPlHQ
|
||||
GStzfBFzBMGMftpGcFFQDDjDQfZPfnnmDPfZZj
|
||||
FqMBtFstpcTMBMSBGSBtqMhrwJLLTCbLhJbrhTCmrChv
|
||||
WwWnTNVBNvWwBngdSqdRJJzncLSLpc
|
||||
HPMZlGZQGtQjPdpqScpdjP
|
||||
GltlGDDCMMplHCDphtbCHDwmWNBgVgvWhrmWssTBwWWV
|
||||
clNNclslcLVWBNlGcVvdSHQvTMHZZSdsdQHM
|
||||
gGhfpRwRZHMdJgZJ
|
||||
fnDrpDtDrrWGcWVW
|
||||
zdVzgdPSWRsHVzPsRRPHRHRRntnQrbDmfDfwfQwwZwfnbgMD
|
||||
qNCJvjNLqjNhBBGjBvchhBCqffbffDGMnbwtfnbmQwQnZQMt
|
||||
jccqJBvCjqvLTLJhJZpsPdSVdPszPRFssT
|
||||
lDLvltDpvSpqGjVVMljGjW
|
||||
zrdnswzcSzCgrdnBBjVcBBcjWTVTGb
|
||||
PZgFdgHHnrdNDPvvtfNQSJ
|
||||
GlLFbFNFtzcvddVpJVfGsCCC
|
||||
PWhhMgWTTnhQrqMHTWqwddCVjSwQJddpBdQffp
|
||||
WqJZDHPWgJrHnPqhnnqLbzzcLmbFDNmcbRzbbN
|
||||
vtDcSfcWfmfTSGwvGDwTvFZVppsszCsVVVFjVzSVSM
|
||||
NrrLPhdBRJLbPhrrRJwhBFZsFVzQzszsZzMCZjsJQF
|
||||
glgwPqPhrRqPqBdNLwBrLRtnGHnDGmDqHWfGWfGcncHH
|
||||
BtSfgpgvQhlSlwzZ
|
||||
VHRmVzMPdPVRmcdhQwQwhClNNNCb
|
||||
PcPMRWrVRRHTMDRVLPVzBnnJprjppBJtJftvpBfp
|
||||
RpgBRVpLgBpDFCCPPVGvPSVVvb
|
||||
dHrMdlWwwljjrlHrqmWjmWlGNvNSBBNhhSCSbSvNtNvQGd
|
||||
TfmjqrwqHmqHrqlHwHpgfZFBzJgpZnpDcDBZ
|
||||
NWTdFWlSMMMWTzVzdQfVpVDwwf
|
||||
RHrrGrLqJLBqgpDgQfwfffHz
|
||||
cssRRsBjvrGRjLBLrZcBvBqWPQNnlWTmSnjFllWMnCTFll
|
||||
DCCDbHDhgbtCLHFHCQdQdSVfbNMdnfcSMS
|
||||
ZZjPsqRZJlJlGZPTTqqRwJjZQVnMszVfzdSVScQQSQcNQNfM
|
||||
mlGJJqmZjBZPhLBrgrWHFnDL
|
||||
wLpCpDmmLwplgwVLwLwVgLLbWWJvJRTsRvbbJWCRsfbssv
|
||||
FHHPFZnnhZQrqTTlSJRSrlfvrv
|
||||
llZlPQFcZZHchjhjPqnjNFqNwggmDDwVNBBDwtpGMVDwDwVp
|
||||
CctttjCrftNrBZpPgpgbNqdq
|
||||
JhMwhMTGhMVhwDDMJJHGJJJBldWggWglddlbqlbPHbfqgf
|
||||
DvJRMJVVJMTfJtnrnRjCSRFnrL
|
||||
snDPGSQPnSSQQFwFFdzWFvmCVmmnjmCJjHjbZZhHZp
|
||||
clgrgrMrRfqRlNggmhmHrhvVbpCjCVvV
|
||||
fNgcBgqqLMqRqgLggtcTftBFdDFWQzDSQWPPGwWpwtGGsP
|
||||
wSJWDCbwVdQfbffHfZZr
|
||||
glgTBzzPSFhLFRvRQnZspZQpnvRp
|
||||
qTLqglLNFqBqVMJqwwMVcS
|
||||
rCWNCsrGrGGHrwQQHrfNDfvgLmmvMmLLMpmLvLPpPgww
|
||||
djcdVdqJJcqqBstdBczbStThPPMPghvSpRgmlvghlmLpLp
|
||||
qtjdBqzbTTtzTJTzVnbBdsNfDHZGGGDDnGfNDHDHFZFD
|
||||
mlzzVHZmzvHflTJHqlJcZTvdcdCCPnddFGhPdBGhMFGCGc
|
||||
QDRrWSprdqqCqDhF
|
||||
NWtQNRrgWjpLjLsrRrQpfwVVqvwHzvvmVszlvlvm
|
||||
DmDDtBDStSLcjLBDhhhmfnNFNlJJMFWFHSMWFpJNHp
|
||||
PgMCgVgsCvVwRVRCwvgTzCMRWWwdnWHpNHFwWJJnHdHpprnp
|
||||
RgZvvMbsbPCRGRTVPGmfBqDDqmthDQcmcZDc
|
||||
WrfWpwwCwpdWCMBzqbtpjVbqzVqp
|
||||
RvQQSFJNFZNNLPGbMMPqGtGPzF
|
||||
DRvmNhZvJZmNmLcDZQcQNRfnnTMwrMHnfTrTCslsclCn
|
||||
httbcnSsgtVMsnssnzghmmHvNmlHVLBHBLrVGGLN
|
||||
QFpjZqpqWddZjjDWPWPwjFpfGLBfBBrrNLlBBgGrLCLmrfBB
|
||||
QRjRjwjwDhbRTJnhgR
|
||||
FTBTZqFVJnVTTPBTVmFbNjRffzrRrNQrPNQbzh
|
||||
tCWwHMLCLDstlzdjwbzbQhRl
|
||||
GvtChDChvtGSnZqnTVvBVF
|
||||
spnFVspFPScprWrGvTpTWpvW
|
||||
CgMqCqPLfqBBJGHlMrrJrWWl
|
||||
ChjqhCtgdLPSQhQsRnVQ
|
||||
bCQVZCJcrSSStrWTdhQqhzzMdhMz
|
||||
lPDwNfgpDfBNgfnlDPRDpLWRhLbMjzWqMqWsMLLhLz
|
||||
wpNPgPwwBDfvBnfgBfwglHDCJmtFGFmGSmCVrVCGbrCcFv
|
||||
zNMJCHVJQmNLQFhZ
|
||||
PPRPdGcRdPPjfjflqdjPDPTZQrhTFZFrmQZQBGZCFmLL
|
||||
CcWfjjgWtjtMJWzVnSJVzJ
|
||||
LjhDjVCVsjNfMsMQ
|
||||
SdRpGSndZnlgpdSFtrQMtqNZJtwrMfQQ
|
||||
cdRpcpnggRSmWpcLDHCCHfhBmPHTCV
|
||||
zpmsJlptmfNwwFswGHThRcTqqHqhhWCWzh
|
||||
SLgLMMgnPbSLPbPMDqZZcTWCnZWtRcWCZC
|
||||
MbbvQtMVSLVrDMvSMSvSlwNsFNJspJFfNNmJrGGf
|
||||
wvcQjfjQvQDJvwNwRdpRScCHbpdMbSpl
|
||||
rfrZzrzWWmzlRpMMdpzd
|
||||
LqrmFrVhFJjNfFfw
|
||||
fVflVfmjQtZhzdrdlN
|
||||
HwLLJvCcpcbRvDwpDvDCpqtTPPMNWTzTrHZTMPzPMPdH
|
||||
LbvbJqgcqbpJLwvbbbmsmgVGmQmnjdSfSVjV
|
||||
FngtfmfTTSFjFDnfjDbwnGzzGBGzbVRwVcwz
|
||||
WWMrLLZLvZMWsrCcjzBGcpzLcGcVcB
|
||||
NhMWllrsNZNrWZWhjCmmSmfgSTFDHTJfFSNq
|
||||
lpqpqlhTSZqfZlwthPHsHcdHPhsCHLrP
|
||||
zVDTjMgFbscczPbz
|
||||
jRRmvmngNngqTZBqNlftTJ
|
||||
wrMrJZPPrNZPZzhzMFPlDqSllsLSbWDWlWqNbb
|
||||
VpGftgghtgQfVBgdnpBBngtWDSRbbSqltbRblDDDtqSlqS
|
||||
gVggVgpVHTpmndffdVQVTVggjMwwjjMCjJFhPvZMwHvzMzjC
|
||||
CtQPCFVlljWrNhTmCgLL
|
||||
zsZbsnsqbMznDGNrrTqTLqWRHghN
|
||||
zsMMGMSssSSzMGGMcvDGJFphFwPPvPvQfJppwQfj
|
||||
njfVlRDDfDwHSfwVwSLnQZqGBbGsnZBnbGqZMbbpGG
|
||||
zvddNNdWFgTPFgWNvNgcZqZbbqMMgBpsZrRZpgGG
|
||||
CPchdcRTcNvvTWcmTNDSSfjwSDHCfQwlJLHl
|
||||
LPmccvvFzzLvvQSzlFvFSSQDDtDfdDVdnDTBDsVTjDndlV
|
||||
CbgNZWgZrbbqhrgTnVjjCsGdBfCfTs
|
||||
BhwRrNrpQvLzvJSw
|
||||
DpGFVsprFpTBJjsnJnnhdjWh
|
||||
fbHCcbVHCgfMLwcqfLwgNdqhjRhnJQQdtQWnnSSJJj
|
||||
gCZNVNzbHbfNHcHNgfCMLHHzPBDPvPDrlvDrDlvpmFTFBF
|
||||
tsBQFgFpFBfsmtLjtgmtrQvCddSwSCwwbRvbwdLvwvRG
|
||||
nqPZnMznTZHZlZPfGCHfbHwNVwdRwC
|
||||
MPWqqzhZmBWFQfFW
|
||||
FNMTTwqwNpVWPgZFFQ
|
||||
crScdztJtcccSzWtzzzbStZQRZVVVHZVRgRQPHQhhjSZ
|
||||
lCDCCdJJdbCdbcJzrcnrJWbnLLlvMMTLNwwMvfvwvMmNBNMG
|
||||
WHsJMlBHCscDPDPtPBRDrL
|
||||
jmTvgnqdsbPmSrrPVrwL
|
||||
pdTgjgqbTqQFdjjQdqTZzCcJsZzQzcfsCCHMMl
|
||||
QqMQGbMGGGzSsQSqCPcCPrCRNNlSZllc
|
||||
vDHdmDWTdmwphhDdJwWvHdDCZPZVllPVRPRZNPVcZbTBZN
|
||||
pmWHDmpmLgJvhvLpmvdvLWbsMgfsQGjqjtsnGfGqzGzzzQ
|
||||
tFvMtFtFMvDDtMvLTpffQWWSGTsDTlSS
|
||||
jqVnBjHqhPHbnhqPqWllfpfSTplQPQPGff
|
||||
bbjHVHdjzqBznqVHBHzzqVFMJNMvmJtvtmcQFMZQFdJL
|
||||
dcldCJQnldtTMdsccThhDDDDFhwTqDRwHR
|
||||
ZbGzmgZSBpPPmmbNbZmgmNPPRqFzzVVhrwVHwRVHrVRHRRrR
|
||||
bSSNmhPGWWZgQtLWtlCdJCMd
|
||||
ttGBGNNgBgVBltlTJGJZpZlHSHCHfDSWpRWWpS
|
||||
LhcLrcFFqdhLFLqvwMdhcPWpHHSSZWjjjCDwSSSfpWpD
|
||||
fPMrqMMnqMFMbqcfnPMMBsgNttgggBmzJzbmGtbb
|
||||
fjFhHHHmfjtLjrFmPhLbCdzBCpPCJQpJJGzJCp
|
||||
RcDTnvlVqRnvnvRNcSzCJGJGCSJJCCdQqw
|
||||
NTlMZVVlVVVlRTDTNjgGLfhrmgLFfZFGhr
|
||||
GmbVGWttmpmbbqDWgVGGGtWNvNCCsHLLFsvHMHHLFnFn
|
||||
wQQSdDTfSTsLCNnFwvFv
|
||||
dPDBTBjzDftcBqBVbGBg
|
||||
LmsfRLwCfZslcjljcjDjwN
|
||||
gdRSrHHrSbdrggBzHBShHlqVvVDvcNvlcccjGlGjqB
|
||||
zgTnSFFJdngddTZTPTWmspWQWWPR
|
||||
RMZMtdsVCsRdddbsVcfcqgNfNDqGqGfzPzmf
|
||||
BpwQrJvrjnSnQpBBBJCJjBBQlzvmDPzmDmglPzPgDNfNmNgz
|
||||
LjLTnSpwjQTrnnLCBJLQjhstbMhsRtTdtMHMtbtsZd
|
||||
PfrPHmrCRmRhcHCcmCfhhmWMLVpwVqFvvGGLVpQSwwSvSFFP
|
||||
sJnjsgsDDdjjjdTglTgDBsBnSLdvwSqpQQbwQSLLLFSpQpbL
|
||||
tBlngnqgqZggTZWfCRZmMCHHmM
|
||||
LGGPQLDLPWmQLVdVdLLGbdvMNjfvHNFNNBbZnNMlHlBf
|
||||
CshzsJBqTTwhttzCJzRtcNcMljnnnMjHlFnMcvnHfM
|
||||
gqJsCwzBrQWDSgGmSS
|
||||
FWVzVJjmbbJVpPwjjJDQsQNDgtcrWtddDQMg
|
||||
TqRqCfGGBTzgTzDNNs
|
||||
qRffnhhGvvvpwbvFzp
|
||||
gLmMTpTCmRhgTLhCCZBSScJFQQQclWWMQJSJQW
|
||||
rvfbDGjGssqbbrRSJJWclqcSwzwScc
|
||||
PsDfGfVRjfTTTZNBPTZT
|
||||
hWqrPzzMhrfmfdNtdZLNrnGndn
|
||||
SwvwSFslbbjRsspQwsRwzcnbnNdTnZDbGctZdTNtNt
|
||||
wvJJFsvpSSvJFjlHjzplQwJhCfVVhmBmVWhHWmWVWqBqMW
|
||||
GjQtgjhPhGgsQjgtthrrvBlvljCrpCdlqBMb
|
||||
RFDHDRFRczzlbqlbvqvHdb
|
||||
DDFcRWTWFbSwRWbGtSGtgPfGGSPPtg
|
||||
0
2022/Day4/Day4.py
Normal file
0
2022/Day4/Day4.py
Normal file
20
2022/Day4/Day4_temp.py
Normal file
20
2022/Day4/Day4_temp.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
if __name__ == '__main__':
|
||||
elvePairs = []
|
||||
notNeeded = 0
|
||||
intersections = 0
|
||||
|
||||
with open("input.txt", "r") as f:
|
||||
for line in f.readlines():
|
||||
line = line.replace("/n", "")
|
||||
elveSections = [boundries.split("-") for boundries in line.split(",")]
|
||||
elvePairs.append([[number for number in range(int(elveSections[0][0]), int(elveSections[0][1]) + 1)],
|
||||
[number for number in range(int(elveSections[1][0]), int(elveSections[1][1]) + 1)]])
|
||||
|
||||
for elvePair in elvePairs:
|
||||
if set(elvePair[0]).issubset(elvePair[1]) or set(elvePair[1]).issubset(elvePair[0]):
|
||||
notNeeded += 1
|
||||
if len(set(elvePair[0]) & set(elvePair[1])) > 0:
|
||||
intersections += 1
|
||||
|
||||
print(f"Solution 1: {notNeeded}")
|
||||
print(f"Solution 2: {intersections}")
|
||||
0
2022/Day4/input-sprechtlPC2.txt
Normal file
0
2022/Day4/input-sprechtlPC2.txt
Normal file
1000
2022/Day4/input.txt
Normal file
1000
2022/Day4/input.txt
Normal file
File diff suppressed because it is too large
Load diff
0
2022/Day5/Day5.py
Normal file
0
2022/Day5/Day5.py
Normal file
79
2022/Day5/Day5_temp.py
Normal file
79
2022/Day5/Day5_temp.py
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
import re
|
||||
|
||||
|
||||
class Operation:
|
||||
amount: int
|
||||
src: int
|
||||
dest: int
|
||||
|
||||
def __init__(self, amount: int, src: int, dest: int):
|
||||
self.amount = amount
|
||||
self.src = src - 1
|
||||
self.dest = dest - 1
|
||||
|
||||
|
||||
def buildStacks(raw: [str]) -> [[str]]:
|
||||
builder = [[] for i in range(9)]
|
||||
for lineNumber in range(len(raw)):
|
||||
line = raw[lineNumber]
|
||||
for position in [x.start() for x in re.finditer('\[', line)]:
|
||||
sign = line[position + 1]
|
||||
builder[position // 4].append(sign)
|
||||
|
||||
return builder
|
||||
|
||||
|
||||
def buildOperations(raw: [str]) -> [Operation]:
|
||||
builder = []
|
||||
|
||||
for currentOperation in raw:
|
||||
currentOperation = currentOperation.replace("move ", "").replace("from ", "").replace("to ", "")
|
||||
amount, src, dest = map(int, currentOperation.split(" "))
|
||||
builder.append(Operation(amount, src, dest))
|
||||
|
||||
return builder
|
||||
|
||||
|
||||
def performOperation(stacks: [[str]], op: Operation) -> [[str]]:
|
||||
for i in range(op.amount):
|
||||
stacks[op.dest].insert(0, stacks[op.src][0])
|
||||
stacks[op.src] = stacks[op.src][1:]
|
||||
|
||||
return stacks
|
||||
|
||||
|
||||
def buildSolutionString(stacks: [[str]]) -> str:
|
||||
sol = ""
|
||||
|
||||
for stack in stacks:
|
||||
sol += stack[0]
|
||||
|
||||
return sol
|
||||
|
||||
|
||||
def performOperationVariant2(stacks: [[str]], op: Operation) -> [[str]]:
|
||||
for i in range(op.amount):
|
||||
stacks[op.dest].insert(i, stacks[op.src][0])
|
||||
stacks[op.src] = stacks[op.src][1:]
|
||||
|
||||
return stacks
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open("input.txt", "r") as f:
|
||||
rawstacks, rawoperations = f.read().split("\n\n")
|
||||
|
||||
stacks = buildStacks(rawstacks.split("\n"))
|
||||
operations = buildOperations(rawoperations.split("\n"))
|
||||
|
||||
for operation in operations:
|
||||
stacks = performOperation(stacks, operation)
|
||||
|
||||
print(f"Solution 1: {buildSolutionString(stacks)}")
|
||||
|
||||
stacks = buildStacks(rawstacks.split("\n"))
|
||||
|
||||
for operation in operations:
|
||||
stacks = performOperationVariant2(stacks, operation)
|
||||
|
||||
print(f"Solution 2: {buildSolutionString(stacks)}")
|
||||
0
2022/Day5/input-sprechtlPC2.txt
Normal file
0
2022/Day5/input-sprechtlPC2.txt
Normal file
512
2022/Day5/input.txt
Normal file
512
2022/Day5/input.txt
Normal file
|
|
@ -0,0 +1,512 @@
|
|||
[R] [J] [W]
|
||||
[R] [N] [T] [T] [C]
|
||||
[R] [P] [G] [J] [P] [T]
|
||||
[Q] [C] [M] [V] [F] [F] [H]
|
||||
[G] [P] [M] [S] [Z] [Z] [C] [Q]
|
||||
[P] [C] [P] [Q] [J] [J] [P] [H] [Z]
|
||||
[C] [T] [H] [T] [H] [P] [G] [L] [V]
|
||||
[F] [W] [B] [L] [P] [D] [L] [N] [G]
|
||||
1 2 3 4 5 6 7 8 9
|
||||
|
||||
move 2 from 2 to 8
|
||||
move 2 from 1 to 6
|
||||
move 8 from 7 to 1
|
||||
move 7 from 5 to 4
|
||||
move 1 from 6 to 4
|
||||
move 1 from 6 to 3
|
||||
move 6 from 3 to 5
|
||||
move 9 from 8 to 1
|
||||
move 3 from 6 to 7
|
||||
move 14 from 4 to 1
|
||||
move 6 from 1 to 7
|
||||
move 16 from 1 to 9
|
||||
move 6 from 1 to 4
|
||||
move 1 from 8 to 6
|
||||
move 4 from 1 to 5
|
||||
move 11 from 9 to 7
|
||||
move 2 from 1 to 8
|
||||
move 1 from 6 to 7
|
||||
move 1 from 8 to 7
|
||||
move 1 from 8 to 3
|
||||
move 7 from 4 to 3
|
||||
move 14 from 7 to 6
|
||||
move 8 from 6 to 9
|
||||
move 19 from 9 to 2
|
||||
move 1 from 1 to 2
|
||||
move 2 from 9 to 7
|
||||
move 9 from 7 to 8
|
||||
move 2 from 2 to 8
|
||||
move 16 from 2 to 9
|
||||
move 4 from 8 to 2
|
||||
move 1 from 7 to 9
|
||||
move 3 from 9 to 6
|
||||
move 3 from 3 to 6
|
||||
move 11 from 9 to 2
|
||||
move 7 from 5 to 3
|
||||
move 2 from 5 to 9
|
||||
move 6 from 6 to 4
|
||||
move 1 from 6 to 4
|
||||
move 4 from 6 to 8
|
||||
move 5 from 9 to 1
|
||||
move 4 from 1 to 7
|
||||
move 3 from 2 to 6
|
||||
move 3 from 4 to 1
|
||||
move 1 from 4 to 1
|
||||
move 2 from 1 to 3
|
||||
move 4 from 3 to 7
|
||||
move 1 from 5 to 2
|
||||
move 3 from 1 to 6
|
||||
move 15 from 2 to 5
|
||||
move 3 from 6 to 3
|
||||
move 13 from 3 to 8
|
||||
move 2 from 4 to 2
|
||||
move 9 from 5 to 4
|
||||
move 2 from 2 to 5
|
||||
move 5 from 7 to 5
|
||||
move 10 from 8 to 6
|
||||
move 1 from 2 to 5
|
||||
move 10 from 4 to 6
|
||||
move 4 from 8 to 6
|
||||
move 3 from 7 to 1
|
||||
move 3 from 1 to 9
|
||||
move 1 from 2 to 1
|
||||
move 8 from 5 to 2
|
||||
move 3 from 6 to 9
|
||||
move 6 from 8 to 5
|
||||
move 6 from 9 to 2
|
||||
move 1 from 1 to 9
|
||||
move 10 from 2 to 1
|
||||
move 4 from 8 to 5
|
||||
move 10 from 5 to 9
|
||||
move 11 from 9 to 7
|
||||
move 5 from 7 to 9
|
||||
move 1 from 9 to 2
|
||||
move 3 from 2 to 9
|
||||
move 2 from 2 to 8
|
||||
move 4 from 9 to 5
|
||||
move 4 from 1 to 9
|
||||
move 5 from 5 to 2
|
||||
move 5 from 1 to 4
|
||||
move 21 from 6 to 9
|
||||
move 3 from 2 to 9
|
||||
move 2 from 8 to 1
|
||||
move 25 from 9 to 6
|
||||
move 4 from 5 to 7
|
||||
move 1 from 4 to 6
|
||||
move 6 from 6 to 4
|
||||
move 3 from 4 to 6
|
||||
move 7 from 7 to 3
|
||||
move 4 from 9 to 1
|
||||
move 3 from 7 to 8
|
||||
move 2 from 9 to 8
|
||||
move 2 from 2 to 8
|
||||
move 4 from 1 to 3
|
||||
move 9 from 6 to 2
|
||||
move 13 from 6 to 4
|
||||
move 13 from 4 to 5
|
||||
move 1 from 5 to 8
|
||||
move 2 from 2 to 3
|
||||
move 6 from 5 to 3
|
||||
move 19 from 3 to 6
|
||||
move 1 from 4 to 9
|
||||
move 2 from 8 to 1
|
||||
move 5 from 2 to 3
|
||||
move 5 from 1 to 9
|
||||
move 7 from 5 to 4
|
||||
move 1 from 8 to 3
|
||||
move 1 from 2 to 6
|
||||
move 8 from 6 to 3
|
||||
move 1 from 9 to 8
|
||||
move 11 from 4 to 2
|
||||
move 1 from 4 to 6
|
||||
move 1 from 2 to 8
|
||||
move 5 from 3 to 4
|
||||
move 4 from 9 to 6
|
||||
move 1 from 6 to 8
|
||||
move 9 from 3 to 1
|
||||
move 7 from 2 to 9
|
||||
move 1 from 2 to 6
|
||||
move 3 from 1 to 8
|
||||
move 2 from 2 to 3
|
||||
move 3 from 9 to 7
|
||||
move 3 from 4 to 7
|
||||
move 2 from 4 to 3
|
||||
move 2 from 3 to 5
|
||||
move 8 from 6 to 4
|
||||
move 6 from 8 to 6
|
||||
move 2 from 9 to 4
|
||||
move 5 from 8 to 6
|
||||
move 3 from 7 to 5
|
||||
move 1 from 5 to 8
|
||||
move 1 from 8 to 2
|
||||
move 1 from 5 to 1
|
||||
move 11 from 4 to 9
|
||||
move 2 from 6 to 3
|
||||
move 2 from 2 to 4
|
||||
move 6 from 1 to 2
|
||||
move 6 from 2 to 1
|
||||
move 3 from 7 to 3
|
||||
move 2 from 4 to 7
|
||||
move 4 from 6 to 5
|
||||
move 7 from 3 to 7
|
||||
move 5 from 9 to 6
|
||||
move 22 from 6 to 8
|
||||
move 2 from 6 to 5
|
||||
move 2 from 8 to 4
|
||||
move 14 from 8 to 7
|
||||
move 11 from 7 to 4
|
||||
move 3 from 8 to 1
|
||||
move 9 from 7 to 8
|
||||
move 10 from 1 to 4
|
||||
move 1 from 7 to 4
|
||||
move 4 from 8 to 7
|
||||
move 6 from 4 to 9
|
||||
move 7 from 4 to 1
|
||||
move 3 from 4 to 8
|
||||
move 1 from 5 to 8
|
||||
move 8 from 5 to 3
|
||||
move 4 from 3 to 9
|
||||
move 7 from 8 to 9
|
||||
move 3 from 8 to 3
|
||||
move 2 from 8 to 2
|
||||
move 7 from 9 to 1
|
||||
move 2 from 2 to 8
|
||||
move 8 from 9 to 1
|
||||
move 8 from 1 to 7
|
||||
move 7 from 1 to 5
|
||||
move 7 from 7 to 1
|
||||
move 11 from 9 to 8
|
||||
move 9 from 8 to 5
|
||||
move 2 from 8 to 5
|
||||
move 3 from 1 to 8
|
||||
move 2 from 3 to 7
|
||||
move 6 from 4 to 1
|
||||
move 6 from 1 to 6
|
||||
move 5 from 7 to 1
|
||||
move 2 from 4 to 6
|
||||
move 1 from 3 to 5
|
||||
move 4 from 7 to 4
|
||||
move 2 from 8 to 7
|
||||
move 10 from 5 to 6
|
||||
move 9 from 6 to 1
|
||||
move 8 from 1 to 6
|
||||
move 1 from 7 to 2
|
||||
move 9 from 6 to 4
|
||||
move 2 from 4 to 3
|
||||
move 3 from 8 to 1
|
||||
move 1 from 2 to 4
|
||||
move 4 from 4 to 1
|
||||
move 7 from 4 to 3
|
||||
move 3 from 3 to 2
|
||||
move 1 from 7 to 6
|
||||
move 9 from 6 to 7
|
||||
move 6 from 7 to 4
|
||||
move 2 from 7 to 2
|
||||
move 6 from 4 to 7
|
||||
move 2 from 2 to 9
|
||||
move 1 from 2 to 4
|
||||
move 1 from 7 to 4
|
||||
move 4 from 7 to 6
|
||||
move 4 from 5 to 4
|
||||
move 1 from 2 to 5
|
||||
move 1 from 7 to 5
|
||||
move 1 from 2 to 6
|
||||
move 6 from 4 to 3
|
||||
move 9 from 3 to 9
|
||||
move 4 from 6 to 2
|
||||
move 7 from 3 to 8
|
||||
move 22 from 1 to 7
|
||||
move 1 from 1 to 7
|
||||
move 2 from 8 to 3
|
||||
move 4 from 5 to 6
|
||||
move 2 from 3 to 2
|
||||
move 6 from 2 to 8
|
||||
move 3 from 8 to 6
|
||||
move 1 from 4 to 8
|
||||
move 1 from 1 to 8
|
||||
move 8 from 6 to 7
|
||||
move 7 from 8 to 9
|
||||
move 22 from 7 to 4
|
||||
move 3 from 5 to 6
|
||||
move 1 from 8 to 1
|
||||
move 2 from 8 to 2
|
||||
move 3 from 6 to 4
|
||||
move 1 from 1 to 3
|
||||
move 15 from 9 to 1
|
||||
move 5 from 1 to 5
|
||||
move 3 from 7 to 6
|
||||
move 5 from 5 to 6
|
||||
move 4 from 4 to 3
|
||||
move 6 from 6 to 9
|
||||
move 7 from 7 to 6
|
||||
move 5 from 6 to 7
|
||||
move 4 from 1 to 9
|
||||
move 3 from 7 to 4
|
||||
move 2 from 9 to 7
|
||||
move 5 from 3 to 5
|
||||
move 3 from 6 to 3
|
||||
move 5 from 4 to 6
|
||||
move 10 from 9 to 5
|
||||
move 1 from 2 to 9
|
||||
move 1 from 3 to 5
|
||||
move 1 from 2 to 9
|
||||
move 3 from 1 to 6
|
||||
move 2 from 9 to 2
|
||||
move 7 from 6 to 5
|
||||
move 15 from 4 to 9
|
||||
move 2 from 4 to 5
|
||||
move 1 from 3 to 4
|
||||
move 9 from 9 to 1
|
||||
move 1 from 9 to 2
|
||||
move 2 from 9 to 4
|
||||
move 11 from 5 to 4
|
||||
move 1 from 9 to 3
|
||||
move 1 from 6 to 8
|
||||
move 4 from 7 to 8
|
||||
move 4 from 8 to 9
|
||||
move 15 from 4 to 7
|
||||
move 1 from 6 to 7
|
||||
move 1 from 3 to 7
|
||||
move 6 from 9 to 6
|
||||
move 1 from 3 to 7
|
||||
move 1 from 2 to 1
|
||||
move 1 from 9 to 5
|
||||
move 3 from 6 to 1
|
||||
move 11 from 1 to 4
|
||||
move 6 from 5 to 1
|
||||
move 2 from 2 to 5
|
||||
move 1 from 5 to 7
|
||||
move 2 from 6 to 1
|
||||
move 7 from 5 to 7
|
||||
move 3 from 5 to 6
|
||||
move 4 from 6 to 1
|
||||
move 11 from 4 to 3
|
||||
move 1 from 8 to 5
|
||||
move 23 from 7 to 6
|
||||
move 18 from 6 to 9
|
||||
move 1 from 5 to 9
|
||||
move 1 from 4 to 2
|
||||
move 3 from 3 to 7
|
||||
move 3 from 3 to 8
|
||||
move 17 from 1 to 8
|
||||
move 5 from 6 to 5
|
||||
move 2 from 7 to 1
|
||||
move 20 from 8 to 2
|
||||
move 4 from 7 to 2
|
||||
move 3 from 9 to 5
|
||||
move 7 from 9 to 7
|
||||
move 6 from 9 to 2
|
||||
move 1 from 1 to 8
|
||||
move 3 from 9 to 4
|
||||
move 7 from 5 to 2
|
||||
move 6 from 7 to 1
|
||||
move 1 from 1 to 8
|
||||
move 3 from 2 to 6
|
||||
move 1 from 7 to 6
|
||||
move 2 from 8 to 9
|
||||
move 35 from 2 to 4
|
||||
move 3 from 3 to 2
|
||||
move 1 from 5 to 7
|
||||
move 2 from 3 to 9
|
||||
move 3 from 1 to 6
|
||||
move 2 from 2 to 1
|
||||
move 32 from 4 to 7
|
||||
move 3 from 4 to 8
|
||||
move 3 from 9 to 5
|
||||
move 1 from 1 to 2
|
||||
move 21 from 7 to 5
|
||||
move 2 from 2 to 1
|
||||
move 3 from 1 to 2
|
||||
move 15 from 5 to 1
|
||||
move 3 from 6 to 7
|
||||
move 3 from 4 to 6
|
||||
move 3 from 8 to 5
|
||||
move 1 from 9 to 3
|
||||
move 8 from 7 to 2
|
||||
move 6 from 5 to 2
|
||||
move 9 from 1 to 6
|
||||
move 4 from 7 to 1
|
||||
move 2 from 5 to 4
|
||||
move 2 from 4 to 3
|
||||
move 3 from 5 to 4
|
||||
move 17 from 2 to 7
|
||||
move 3 from 3 to 5
|
||||
move 2 from 4 to 8
|
||||
move 1 from 4 to 3
|
||||
move 5 from 7 to 9
|
||||
move 1 from 3 to 6
|
||||
move 4 from 1 to 7
|
||||
move 4 from 6 to 7
|
||||
move 2 from 5 to 2
|
||||
move 1 from 1 to 3
|
||||
move 10 from 6 to 4
|
||||
move 1 from 3 to 7
|
||||
move 20 from 7 to 8
|
||||
move 8 from 4 to 8
|
||||
move 1 from 2 to 8
|
||||
move 4 from 9 to 1
|
||||
move 3 from 7 to 4
|
||||
move 2 from 4 to 9
|
||||
move 2 from 6 to 3
|
||||
move 1 from 2 to 8
|
||||
move 1 from 7 to 6
|
||||
move 1 from 9 to 5
|
||||
move 3 from 5 to 9
|
||||
move 4 from 9 to 2
|
||||
move 1 from 4 to 5
|
||||
move 1 from 5 to 3
|
||||
move 3 from 2 to 4
|
||||
move 1 from 9 to 7
|
||||
move 1 from 2 to 1
|
||||
move 1 from 7 to 1
|
||||
move 11 from 1 to 2
|
||||
move 3 from 1 to 7
|
||||
move 25 from 8 to 5
|
||||
move 1 from 6 to 3
|
||||
move 1 from 6 to 2
|
||||
move 7 from 8 to 2
|
||||
move 9 from 2 to 8
|
||||
move 2 from 4 to 7
|
||||
move 2 from 5 to 7
|
||||
move 2 from 5 to 2
|
||||
move 5 from 5 to 1
|
||||
move 7 from 5 to 1
|
||||
move 2 from 4 to 9
|
||||
move 3 from 5 to 6
|
||||
move 1 from 1 to 8
|
||||
move 1 from 5 to 6
|
||||
move 1 from 4 to 7
|
||||
move 1 from 9 to 2
|
||||
move 3 from 5 to 2
|
||||
move 2 from 6 to 9
|
||||
move 3 from 9 to 8
|
||||
move 1 from 5 to 4
|
||||
move 3 from 3 to 9
|
||||
move 10 from 1 to 5
|
||||
move 4 from 2 to 8
|
||||
move 2 from 6 to 1
|
||||
move 3 from 9 to 7
|
||||
move 1 from 1 to 9
|
||||
move 1 from 4 to 3
|
||||
move 1 from 9 to 2
|
||||
move 9 from 8 to 2
|
||||
move 2 from 3 to 7
|
||||
move 2 from 7 to 6
|
||||
move 3 from 5 to 6
|
||||
move 4 from 8 to 6
|
||||
move 4 from 8 to 3
|
||||
move 4 from 3 to 2
|
||||
move 4 from 6 to 8
|
||||
move 1 from 7 to 9
|
||||
move 2 from 1 to 8
|
||||
move 2 from 8 to 3
|
||||
move 1 from 9 to 2
|
||||
move 13 from 2 to 4
|
||||
move 6 from 5 to 7
|
||||
move 2 from 5 to 7
|
||||
move 10 from 2 to 4
|
||||
move 11 from 7 to 8
|
||||
move 1 from 6 to 4
|
||||
move 4 from 6 to 7
|
||||
move 24 from 4 to 9
|
||||
move 11 from 7 to 4
|
||||
move 1 from 3 to 8
|
||||
move 1 from 3 to 5
|
||||
move 4 from 4 to 2
|
||||
move 5 from 4 to 2
|
||||
move 9 from 2 to 5
|
||||
move 4 from 9 to 5
|
||||
move 1 from 5 to 1
|
||||
move 2 from 5 to 7
|
||||
move 2 from 2 to 5
|
||||
move 1 from 1 to 7
|
||||
move 2 from 2 to 3
|
||||
move 18 from 9 to 6
|
||||
move 9 from 8 to 1
|
||||
move 2 from 9 to 5
|
||||
move 5 from 1 to 8
|
||||
move 2 from 8 to 7
|
||||
move 4 from 8 to 4
|
||||
move 5 from 8 to 7
|
||||
move 10 from 5 to 1
|
||||
move 10 from 7 to 4
|
||||
move 4 from 5 to 8
|
||||
move 14 from 1 to 9
|
||||
move 6 from 9 to 8
|
||||
move 1 from 5 to 1
|
||||
move 12 from 6 to 9
|
||||
move 4 from 6 to 8
|
||||
move 11 from 8 to 5
|
||||
move 1 from 6 to 1
|
||||
move 19 from 9 to 7
|
||||
move 2 from 3 to 5
|
||||
move 13 from 7 to 5
|
||||
move 3 from 7 to 1
|
||||
move 4 from 8 to 9
|
||||
move 2 from 7 to 6
|
||||
move 7 from 4 to 8
|
||||
move 5 from 8 to 1
|
||||
move 1 from 1 to 3
|
||||
move 1 from 7 to 2
|
||||
move 6 from 1 to 6
|
||||
move 1 from 2 to 5
|
||||
move 1 from 8 to 1
|
||||
move 1 from 8 to 2
|
||||
move 2 from 4 to 8
|
||||
move 5 from 6 to 1
|
||||
move 2 from 4 to 7
|
||||
move 2 from 9 to 6
|
||||
move 1 from 6 to 5
|
||||
move 4 from 6 to 2
|
||||
move 1 from 9 to 5
|
||||
move 2 from 4 to 5
|
||||
move 4 from 2 to 4
|
||||
move 2 from 8 to 3
|
||||
move 3 from 3 to 2
|
||||
move 4 from 1 to 2
|
||||
move 2 from 4 to 7
|
||||
move 4 from 2 to 3
|
||||
move 4 from 1 to 2
|
||||
move 13 from 5 to 1
|
||||
move 1 from 6 to 2
|
||||
move 1 from 1 to 8
|
||||
move 15 from 5 to 2
|
||||
move 4 from 3 to 1
|
||||
move 5 from 4 to 3
|
||||
move 1 from 3 to 6
|
||||
move 1 from 8 to 7
|
||||
move 1 from 9 to 8
|
||||
move 1 from 7 to 8
|
||||
move 3 from 3 to 2
|
||||
move 1 from 8 to 2
|
||||
move 1 from 3 to 7
|
||||
move 13 from 1 to 4
|
||||
move 3 from 5 to 3
|
||||
move 1 from 1 to 2
|
||||
move 1 from 8 to 5
|
||||
move 5 from 7 to 2
|
||||
move 1 from 6 to 5
|
||||
move 2 from 3 to 4
|
||||
move 10 from 2 to 5
|
||||
move 1 from 9 to 5
|
||||
move 3 from 1 to 8
|
||||
move 3 from 8 to 3
|
||||
move 11 from 4 to 5
|
||||
move 12 from 2 to 8
|
||||
move 4 from 4 to 7
|
||||
move 10 from 8 to 5
|
||||
move 2 from 8 to 1
|
||||
move 1 from 7 to 3
|
||||
move 1 from 7 to 9
|
||||
move 5 from 3 to 7
|
||||
move 1 from 9 to 4
|
||||
move 7 from 7 to 6
|
||||
move 13 from 5 to 8
|
||||
move 6 from 6 to 7
|
||||
move 5 from 7 to 4
|
||||
move 1 from 6 to 4
|
||||
move 2 from 4 to 9
|
||||
move 1 from 7 to 9
|
||||
move 3 from 4 to 3
|
||||
move 1 from 3 to 6
|
||||
move 4 from 5 to 7
|
||||
0
2022/Day6/Day6.py
Normal file
0
2022/Day6/Day6.py
Normal file
12
2022/Day6/Day6_temp.py
Normal file
12
2022/Day6/Day6_temp.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
def findFirstUniquePackage(signal: str, numberOfUniques: int) -> int:
|
||||
for offset in range(len(signal) - numberOfUniques):
|
||||
if len(set(signal[offset:offset + numberOfUniques])) == numberOfUniques:
|
||||
return offset + numberOfUniques
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open("input.txt", "r") as f:
|
||||
signal = f.read()
|
||||
|
||||
print(f"Solution 1: {findFirstUniquePackage(signal, 4)}")
|
||||
print(f"Solution 2: {findFirstUniquePackage(signal, 14)}")
|
||||
0
2022/Day6/input-sprechtlPC2.txt
Normal file
0
2022/Day6/input-sprechtlPC2.txt
Normal file
1
2022/Day6/input.txt
Normal file
1
2022/Day6/input.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
pjbjvjtjljplppjssvtvwtwptptztltbtrrjgrjrzrqrjrbrhbrhrlllbpbdbbzqqgsqshqssjjbsjbsbmbhhmchhrqrcqqbwbqwwqrrznnsbswwwdjwdwmmsvszzlbbgddbgdgfgttzjzrjzrjzzvrvqqgpqggtbgtgvvrhvhtvtjjbpjjfjhjbhbddbjjjmzmtmgmpgmmmljlnljjmpmbpmbmrrlhhlppdgdfgfbbqlbbtffjjgvvnpvpbpttqmmnhhgfgrrwhrrbnbznzccmbmvmmzszsvsbvbccsrslsjsbbtdtwtvttvpvzzvbzzwczwcczhzhwhjhjghgppgpgttdwdhwhphnppqmpqqhthcchdhmhnnbcnbcbbggbfblljttwsswspsggpjjzszcscsmcmdmnngzzhrzrbrhbhzbzvzgvgffnlnljlrrhchhsvhssmpmccncdnccgdgbglgtlggnllsvvpfvpfpbffsgglddjrrzzphhptprtppwrwffzllrbrmrpmpdmpdmpplpspcphcphhgmmqnmmvnmmdvmvsmmqjmmlmlbmlbmlltlptphpnncscbscbcggwhhgjgqjqmjmdjmdjdrrvgvvzlldgdnnvttmmpffdjjvvchcwwbhwbwzzlmlccrttcntccpcgccpgcpggdrrbtrthhlrrbqrrpspdsdldbldblbzbpbgggtngtgqqtwwdjjmmcrmcrcvclcddhllpzpdzzmccrtccfvffccfhccpscctbbbzqzvvllgwlgwgvwwjswjswsvvwhhvjvsjvjmmjhjrhrmrvrnrccmnmzzmdzzbtbvbqvvgzgcgvvvvlltvllbfbqqrppwhpwpffzddzdzwdzzrggmhmfhmhbbzjzsjzzhhjdhhdnndsnssnfffbmffwhwrhhmmbnnbrnrbrrtqtztnzzzzblbhbdhbbfmfqfmmsgszzvfzfmfwfnwfwggwngnqnwqnwqwvwqvwvdvrvjjfnjnmnfmmwzzltztjjqnnnmlmzlmmrcmclcqqhrhdhccdfdvfvccvtcvvdmmtmccwjjcbcrrjmrjrdrffgwwvbvlvsspwpsspzsschssmqsqmqmlqmmqgqfqcqjcjtthjttlddfvvwwjvvtpvvfsvffqnffznzqzszgzmmjttwztwzzhqqccqsqmqnmqqjhqhzhwhvhdddsndsdfftvffwlwnnmmdpmmnhhrqrrclcdlcddhcdcppgrprnpnptnpphgpbqfngdgzvgndwcgrwcsfmhzsvddhzbgjmvvdjjzswvgnpmvgdpwsgbgjzjpsrfdzdzjzzrpplbhsmgddqzjbdzdzltqqwqjzqvwfmcdppbdbprrwzhmnrqclzrnmdjnfbwmvdrwtpwvgscrqgpndqnzbjsbljcbthbpgdjdcdwfhpvjnbsfjdlrjldvvmtfdslrhlfwmvclqrljrqmmjgqfwmfgwdjzzptgcthvtgdswsqjrqvnzmtqldjjcqnfhtvbwhjqlvpptfwjrdpcwvzddgcjzvqbhtsnnnjqqmqlbgvqmvjhvvpbzcbdmhgmcjbfcccsvlzjztvjzrrlhtgwccdcgcptqlmdhmdhvqzfntbjqtsmvqgwsltqntgszllntrljfgfsghtbbcqrdgwqphmbqtzmjqccrgvqpqpchzjstdmmtvntwjqsbcqjgnhzlllcfbpgtgrhwwhqqdlgrlsbzbmchvjnsgpdnmqvtgwqjpgflqgfngjfcfwqzmvvgzmmhbgfnbzvzclwclqdcccgbrrzpwdtprgsvhbgsnbntgrvnzhrnzfzdmnlbnrbqvmjbwpgvjlhbcvsrlqmcsnlrvtfdwtvcbmlndgbctsnmtctjszlpddqmzbtphhhfznwbdfsgppmdmczmhmmrzpllfqqbgvlsrscpfgznhdhgrnnnvrchgvzlqbgvcfghjvlvrvpclfcshbmvglcfrjbzrbcjmjjrfgqthwfrqbgtjldmbnfwllspmwrvstvrltvrlvrtjvprgtgzjlrgclvjhqpfcwcdbdtzwdsdfrtsvtvgjmsszdfqlmhqqlzswjfndswlmhcrhglphvpnfjpbmggbwlmzjchpnrllbjpmgmzjjrqpqgsbrszqhdljcpnclvrvbntgtcdcmhtdhgslhpvdjpvrszfrjhsbvcvtfwvvgczprnpbhmnnlmctbtqdjspgvhvnhwvspwgnjvzllwlnjhfjwsslppmjbfbdnthcpzbcmnnbvhctgwgdvhvlrbltmdnlfcsncqgrmjprshdvvtvcccgzhszcjgczhmhtvmccjpchqshhdzjjhbfpzqdjszdhdvlmgctmwcjprwlsqbcqhlcrfdgnqzfdfvqslmqlppbsvbmjmfbrtdmpmtqvwvppcfzddjzhhzlrrnnhbrlhmzlqwftprfvctnfhfhfzrnrvggfqmqwcwszhtbfjncprgwcqbjlvtnrprlwwghswvprjmsbmqvwnnfggprndvshfvvwtrqjpwghgbppftgzhqjslfzhngwfsjnmjzdsjqgpmglwnjlcgmczgvndszrszcpnzqpbzjmgrfsbjlghwrbqsqdhlnhzsvsgbqhbcdffjlgrbdrrjvclzqpftlhdvvcrvlgvlpnjcqdcbdjtlwnldjhhhzrwsqlhlsztwrznfsszptlrhjmqwmnfwjtjwmmmtvwzhpmjgzgsscbddgvvhpcnhvnggzhbzvvjlmdftpbcsvtsttrvgghptmmcdclbdvmnsdntthfbdznbclwccnlzcvdwzrqgddjszvbdqcjppzrtpnrhfcvvwpjqczgqwzzzvzmlnlzqszvtllftthgwgftjzsndpzzcnqpcvmsdvvfrjdsvfclsqqhsjrrctfvdrlhfmhprjggdcmqrrbqtwnrllhhztvjgmzqszbvqfwsgllvhsvfrjffvdscwjzqlzlwdpgthddpgzjfdbdqpsnntwpslvsdpqfnsgcllszcjwvtqhwhpfrlfdgwrfmgfpjmvnstrmtfcvgwlqdfqvntltqtrmjjtwcthvwntqgvncssplnmvlnstlcphvlcmvjnstwldtntchcbmzmlzhgjfbrdlgzvqpgcndmfdnmcnwhmpdnpqstfddddcrpgrpfwfbzjqtnzwwqpzrqpmrjpfznrndfgwhtlvrcrphqfjzjbttwhgnsngqwvnsbvcqtjlmhvmnmnnmjcmlpnpgmrqsbmgljvsfqvrlljqzmzqqbgpvcrwdjmgsglssjswmnvtshhfqjhqmfmvcjwfpwsppgtrqsbhhcdljnjphnjszqpvdplbwzpwmmpwfhmhngtllzqvpmgdctmfqwwqjszssmjhwnrjdtmmvpdnwlqtcbpfcmwtbjmmsmmdpqgzdhsblgjmjbpzgqvqhnggtwmhztbbhlflllgwblncjjsngdgvsfdmsbsvlpnjjzqqbzhsqclmjnnmmwlpvtgwqmcgmrqdwdddlgbvhntbztbjnqhdlggnzwsdtdzprgddhtcttjrcpszgchtfwqjsdlnbntfwqpzpfsqrqjhthmcfszwtwcqwbvfzdnrrpmzjdrhsgmhfbsldvcrjdwvpqpszzlvbptljgvccqsdhhnztjpghbvhfptgplqdvldjzfthpspwvgljwnnndwrqzbrstnqbvrrcghssnrpvtrhmvcmbngwndzfswmgjwnnzqdcjhpthcgvthsnwqzrnzrvdjmctchhsbnrtvctzqfpcjhzmhnfjlqftbjztfbcppgmwvrzzrvlcpnpwwpvtcpdplrcfpgfqjtlfjtphhpcltwqcbqbznbtjrtdrpgtvzmgsclhpptrssqqbctdrftqzmwjmrmjtgmjmsnbnspjvcqpqnmgzgjrmfhghvsfsdqnbdjsbcpczsdswdcvhfzlgpzbtmztcnbpcvjnlcdmmlbtwzsfqtfnlrwjtwmgslcgptgbdsfwdhppvfwbbgdfdqtrbncbznmqtchzsdzlhlhjnnbpdvnnfjrdfbdqmvcb
|
||||
0
2022/Day7/Day7.py
Normal file
0
2022/Day7/Day7.py
Normal file
0
2022/Day7/input-sprechtlPC2.txt
Normal file
0
2022/Day7/input-sprechtlPC2.txt
Normal file
0
2022/Day8/Day8.py
Normal file
0
2022/Day8/Day8.py
Normal file
0
2022/Day8/input-sprechtlPC2.txt
Normal file
0
2022/Day8/input-sprechtlPC2.txt
Normal file
0
2022/Day9/Day9.py
Normal file
0
2022/Day9/Day9.py
Normal file
0
2022/Day9/input.txt
Normal file
0
2022/Day9/input.txt
Normal file
Loading…
Add table
Add a link
Reference in a new issue