mirror of
https://github.com/jneug/adventofcode.git
synced 2026-04-14 06:43:33 +02:00
2022: Day 1 - 4
This commit is contained in:
13
2022/day1_1.py
Normal file
13
2022/day1_1.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
max_cal = 0
|
||||||
|
|
||||||
|
with open('day1_input.txt', 'r') as f:
|
||||||
|
sum = 0
|
||||||
|
for line in f.readlines():
|
||||||
|
if line.strip():
|
||||||
|
sum += int(line)
|
||||||
|
else:
|
||||||
|
if sum > max_cal:
|
||||||
|
max_cal = sum
|
||||||
|
sum = 0
|
||||||
|
|
||||||
|
print(max_cal)
|
||||||
14
2022/day1_2.py
Normal file
14
2022/day1_2.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
calories = list()
|
||||||
|
|
||||||
|
with open('day1_input.txt', 'r') as f:
|
||||||
|
_sum = 0
|
||||||
|
for line in f.readlines():
|
||||||
|
if line.strip():
|
||||||
|
_sum += int(line)
|
||||||
|
else:
|
||||||
|
calories.append(_sum)
|
||||||
|
_sum = 0
|
||||||
|
|
||||||
|
calories.sort(reverse=True)
|
||||||
|
print(calories[0:3])
|
||||||
|
print(sum(calories[0:3]))
|
||||||
2248
2022/day1_input.txt
Normal file
2248
2022/day1_input.txt
Normal file
File diff suppressed because it is too large
Load Diff
34
2022/day2_1.py
Normal file
34
2022/day2_1.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# A = Rock = 1 = X
|
||||||
|
# B = Paper = 2 = Y
|
||||||
|
# C = Scissors = 3 = Z
|
||||||
|
|
||||||
|
score_map = {
|
||||||
|
'A X': 3 + 1,
|
||||||
|
'A Y': 6 + 2,
|
||||||
|
'A Z': 0 + 3,
|
||||||
|
'B X': 0 + 1,
|
||||||
|
'B Y': 3 + 2,
|
||||||
|
'B Z': 6 + 3,
|
||||||
|
'C X': 6 + 1,
|
||||||
|
'C Y': 0 + 2,
|
||||||
|
'C Z': 3 + 3
|
||||||
|
}
|
||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day2_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line.strip())
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
total = 0
|
||||||
|
for line in input:
|
||||||
|
total += score_map[line]
|
||||||
|
print(total)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
38
2022/day2_2.py
Normal file
38
2022/day2_2.py
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# A = Rock = 1
|
||||||
|
# B = Paper = 2
|
||||||
|
# C = Scissors = 3
|
||||||
|
|
||||||
|
# X = lose = 0
|
||||||
|
# Y = draw = 3
|
||||||
|
# Z = win = 6
|
||||||
|
|
||||||
|
score_map = {
|
||||||
|
'A X': 3 + 0,
|
||||||
|
'A Y': 1 + 3,
|
||||||
|
'A Z': 2 + 6,
|
||||||
|
'B X': 1 + 0,
|
||||||
|
'B Y': 2 + 3,
|
||||||
|
'B Z': 3 + 6,
|
||||||
|
'C X': 2 + 0,
|
||||||
|
'C Y': 3 + 3,
|
||||||
|
'C Z': 1 + 6
|
||||||
|
}
|
||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day2_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line.strip())
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
total = 0
|
||||||
|
for line in input:
|
||||||
|
total += score_map[line]
|
||||||
|
print(total)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
2500
2022/day2_input.txt
Normal file
2500
2022/day2_input.txt
Normal file
File diff suppressed because it is too large
Load Diff
29
2022/day3_1.py
Normal file
29
2022/day3_1.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day3_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line.strip())
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
for line in input:
|
||||||
|
l = int(len(line) / 2)
|
||||||
|
left, right = set(line[:l]), set(line[l:])
|
||||||
|
isect = left.intersection(right)
|
||||||
|
for i in isect:
|
||||||
|
common = i
|
||||||
|
if common.islower():
|
||||||
|
total += ord(common) - 96
|
||||||
|
else:
|
||||||
|
total += ord(common) - 38
|
||||||
|
|
||||||
|
print(total)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
35
2022/day3_2.py
Normal file
35
2022/day3_2.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day3_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line.strip())
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
group = []
|
||||||
|
for line in input:
|
||||||
|
if len(group) < 3:
|
||||||
|
group.append(set(line))
|
||||||
|
if len(group) == 3:
|
||||||
|
isect = group[0].intersection(group[1], group[2])
|
||||||
|
if len(isect) > 1:
|
||||||
|
print(isect)
|
||||||
|
|
||||||
|
for i in isect:
|
||||||
|
common = i
|
||||||
|
if common.islower():
|
||||||
|
total += ord(common) - 96
|
||||||
|
else:
|
||||||
|
total += ord(common) - 38
|
||||||
|
group = []
|
||||||
|
|
||||||
|
print(total)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
300
2022/day3_input.txt
Normal file
300
2022/day3_input.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
gvNbShZZgQfWdQhdPQmggLTFLwmwjFqjVVgM
|
||||||
|
CsJnHllcsnnnnJrGRnRwPPLVmFLHLBjFFVHmPT
|
||||||
|
JlnCtctJnJDcJlDCRpPrSSQWfphzWZfbZSvfNfbS
|
||||||
|
WjvRSdSQjvpjWzNlnZlNZqCCMzZZ
|
||||||
|
nJtJsbctPBPwLNcDZNNGLClC
|
||||||
|
tsFJHBgJwgJbnvSHHWVWHhVhpQ
|
||||||
|
zRzPhCCSHVZzfGHZ
|
||||||
|
qBsWBpqBwBcvqqWgdfZrprdggPHHVZ
|
||||||
|
WWmvwvBbnWmnwvWcbmWWnqNCRSDRRSSjjSDbPJbRjClLhC
|
||||||
|
rQrznfHHhrHzllzlzTGcJgtJ
|
||||||
|
jhhjjSZVPWVZvSFtTttLTglgFtvm
|
||||||
|
dqSCqVWdbDSSVqbVVSqhNdrnpnCnfsnnwfnsRpMpBMrf
|
||||||
|
rTnvrSSHvHtnDQVDtfmW
|
||||||
|
ZjCglhcCJschpZbZgbtGmRtbGmwtQtbmtN
|
||||||
|
FFZCghFJhlslFpjcdFTPLHHmrqTMTdzBLHLH
|
||||||
|
WzDfrDwwDCCDMnfDHHJjTHTtNdngdHtQ
|
||||||
|
FmScGPPPPmpspchbGHtRsjdJJJWJWNttgH
|
||||||
|
bvhFlVhPchPvqWLwqLWqvq
|
||||||
|
RcchVlCCvmhDRjNJJJjbjllZlJ
|
||||||
|
wPwFGFMPfpdtqbpwFFfGPQZTWTZjtzQWTBBQJzZjZZ
|
||||||
|
fbwPqqMPwdgvmDVDhmRCgR
|
||||||
|
SSQggtQVQQgQGmGVthVnWDGjCBLLzdDNCCjDGWCW
|
||||||
|
RcHcHbFqbPMZRFTvHFFFlcZZBNBtNjjLLjDdjLjDqWCpNLpj
|
||||||
|
sPPclZcsZtMPfVsnnwwVJhmQ
|
||||||
|
jlrwpVPjMwfzZfhfwddH
|
||||||
|
DbQBGgBJPPBBHfPZ
|
||||||
|
ggGSQTnTgQGbSRQRPrNlsjVjMrpmMLnrrW
|
||||||
|
MzNNbMSrZNSSvGWWznwGQlTG
|
||||||
|
ZCFCJHqJFjqTTqngPwPG
|
||||||
|
LCJLJCCFtfjsJCMbZSMSbbcDdBfd
|
||||||
|
LCdjljfJJBfLDCCdJqGqsGGtmBsWtbGmSS
|
||||||
|
gpgchRcPgRRQNZcpNhgNPzzmGrmrGwtSSswqrSGbbTzt
|
||||||
|
QgQvNppRPQcggZNccchvNZgCjlnsDLDflDdfjLfMDVsMLv
|
||||||
|
jfSfTWfwTJffQQNwTCHnGGGgHbgqGFvF
|
||||||
|
LmspctdsLDlBLPmFFgqbqFFbqlnSRS
|
||||||
|
PSZZsctsDDtdBmzBLBSmpJjMzWwjVfwJVMrNfwrfzf
|
||||||
|
zFZqbRNRHNHhqHFqzNnzzqDQVFMggMgDpmJMTgpVTQFJ
|
||||||
|
SwLVsSWBfStDGMfDTDGGGT
|
||||||
|
vlCBVsSvCRrHRjCqrn
|
||||||
|
ndGVddlVdrcGlGcljdVGjCgfffPCCLfCMvqWvPnqgn
|
||||||
|
FNtRZBDDSNSNStDhFRNQtLgCMTCBqvLMMTfJqBLPLP
|
||||||
|
bwQwZhSDFhZbFSNccwzwHmHHjHMwsd
|
||||||
|
BrSDgqrgWzWDwJBzMDWBLjpmVLFfFPLVJjVVPLFV
|
||||||
|
cNnRlvNRvQTcnZwmfQGPmfVFPP
|
||||||
|
dsCNllvTdnntTlTsHcdCRtNRBDWBDWDrWBhDBqMBDqbzWwCr
|
||||||
|
stLcchcTwRcsVTtftVVthchqmmCCFvWmmgSgQFCwGvWSFCrr
|
||||||
|
PljDbZbzjllHdQNWHMFGrMMHMFrmmM
|
||||||
|
njjjzbPdqRcRQQns
|
||||||
|
BTBLwzmqWNbpzqNzLppLBnhZJcJSHThhnnJZHHSQnr
|
||||||
|
RfQgDjgsjVfRFDdvddtvhhhJCnrSnMZCcMSCSJ
|
||||||
|
QRtjtRQQlzlqqzzzBW
|
||||||
|
FnzllplJMntnzptLFzsjTVSQcSjSjQFFmdQQ
|
||||||
|
wgwrBrwGHPGBqHrDcpmjddSQTmTGVmmG
|
||||||
|
DBhhNBrCrMvNvzptpN
|
||||||
|
LgSbLLRJQSzLCgJRJhWCCzRBdZdcMfcHsMdFFjfPjsCHBc
|
||||||
|
nrVTnmrrrlnGGmrlVwVZPFHmdsZHBmjMcdjfcZ
|
||||||
|
wrnTlNpvVVrqFrtnwGqwwrTpSgSQQLbQRzQSQRJbQpDbQz
|
||||||
|
pgvmcpVcpwJppwgwvMWfHbRGRHDBJbWGfGGb
|
||||||
|
hQqFqQNhqdCPNhTQCCFbbjmBHBbBRjGHBDBGFj
|
||||||
|
TtdCCNlPCmssnqgvzzvvtVrgzzrc
|
||||||
|
JltddTSgtLLvgvdldgvWPZPPSjWMjCfWNjNWPG
|
||||||
|
FrwpbwhbmfjGRpGPNM
|
||||||
|
cmBrBcBnmFBQqcFbscBhQfttznJgzlLLDlnglzLLlg
|
||||||
|
mDhRsDzWZzGhhhWpZwzwGdfbFsfFTQTLcNFfFrNvvcbT
|
||||||
|
ngMHjjgVgqHnPlnqtnClMHbfCJFbcLFFJFLbrQNbFQcQ
|
||||||
|
SlqHqVVqPnBHSHHljlMndBdZQphRhdGpzWmWWwBh
|
||||||
|
hVNhcfbSSNMfjjMlqRCqpdzpRJdnhl
|
||||||
|
sBHPPwQwttBBssLCHzDBlDDmRmpJdqJJJd
|
||||||
|
sHHwtsHTWwtZPHtZbbVSgMbGCNjNvN
|
||||||
|
SgMtSMVChFBHBFdCwhdqPcPsbRVQqsblDbRmlc
|
||||||
|
jlrLWfvWvzWWzmcQcqcNbmNDjR
|
||||||
|
JpLznrnfGrrfnWWzTpfvzvdHHCgSBwdlTMhCTMFhBBwg
|
||||||
|
fptnFPLsttddDdRhQShQzC
|
||||||
|
BqGHGlqmmGmlJmNmqlbbCzSCQHDzSjHhfSShjfVh
|
||||||
|
fbrrMqGGBlNMGNqrqglmrLZwFcwgFwsPcscctpWLgn
|
||||||
|
TCMMTtWBqCMMMWWMSWhNFhlNBNlNHwNDsvhw
|
||||||
|
frfdrbZJrVLdZLbnJcrmvhlhHshlgsZsHwwghZ
|
||||||
|
fLRVvcvRVpfbcfVVJTqpWCCSqCCTTtjjPj
|
||||||
|
vRCGzdTtvdBCTzCdmVsQjnVttngthgnQHs
|
||||||
|
rLNZlrwrjrFLMsggsQpsQngqMq
|
||||||
|
NfjZWcbffDrLZfNLbDczvmcTvvGCmCBBmSdP
|
||||||
|
DSqdzrHgJtSHMgvmnNGdcmCnvssN
|
||||||
|
ZwQLlVlRVVWZFZhbJZVjRJscvBGcpssLpBcnGpBsmpBs
|
||||||
|
TwwjjQJTjlhwMfTDgMrfgtqg
|
||||||
|
HhvVhgddvdvqTqVqHQgjgmCPWGrcWsGWPcvlsWrWmC
|
||||||
|
lbJBBFbMlJFRCmsRmRPtCtwm
|
||||||
|
FMLLpDLnFpFJbDfLnZZSzhqHVdVQjgSdlQTZ
|
||||||
|
mvBrszzsrrrGsBDvBvszDRQDhjCwWdLhJdCjjWZdqqdZdW
|
||||||
|
gMlfFVccTGMGPMSCdcLLdqhjLJWWdZ
|
||||||
|
VfggggPVltVSlSlHfgFtTpfRGmRrrrvQpQsrGmnvnQbzmz
|
||||||
|
HjtMgWbHBtbtcggVcHwMwcdzpZFGzGZFpvFFZZWnnpFG
|
||||||
|
RNNrfmSrSSzdGBzFfJFq
|
||||||
|
mNsSrrTPPRshmsBClRClPmSccVgQVHjHwtHwTMbTVwMHgg
|
||||||
|
pZmmLpQLDJBCPCssJTsCTc
|
||||||
|
SwlLwWvSwNSSSMSMfWLvvVdPFzjfTscdjcCsjzCPddFc
|
||||||
|
vbVMqGbLSVMhDQnRRQnBqH
|
||||||
|
lNmNwlmlbhhfFNgpJLnHfTHfTdnTML
|
||||||
|
BGvCwVGVPSDWDMMJTHZMpndH
|
||||||
|
rVcBrPSPCwWqPwGCBCSrqlNNQFhsQhtlhhhgNQtb
|
||||||
|
HqZCQRQgWjpmZHRHqQjttGGJQNQtwQGGGbGrJz
|
||||||
|
SlddfFVMLncbJJMzMzzMwD
|
||||||
|
ndSznsdVHsqgpZvH
|
||||||
|
sNStMtNtDztrvrRGPRRRRrNzqcchgJJLqnBScBcJThJggJBT
|
||||||
|
QCWWZbCbCVjVbFVFbVwbnhqLqhghBLwwTqJJcpgTBL
|
||||||
|
ZlHjfHHFWFjCdbHlQFnfdnZFMzPzrrlMrtrrGRMsDPrGvGPz
|
||||||
|
NnDHhNNldhNTdHllpptCRtftzmGBGmVRVGRH
|
||||||
|
wgZgZJLBwqgLSWrBvZVVzmffWzRmGsGmmssm
|
||||||
|
bgqPBBLbPbrrZBjjlpjccjDdDchFTNlc
|
||||||
|
WRWNNRWNfLZtsmtSWrtLmWgTcMcPrpMTcVMMPPBBqjcg
|
||||||
|
QJJDFbpnpJdlcwcgBTqlgPwc
|
||||||
|
GJFHJGhHnpWWShpsRS
|
||||||
|
DHDZvDQWdHJMHlJf
|
||||||
|
RhhnGLnBtGrnLjwwJTTMTdQccllSMQ
|
||||||
|
rmFrrBGQLQFLjbFnBhQLhrRGCPVDWzgmpsWvWWDzppWpzCvC
|
||||||
|
bsrJrWgWJvQRqbbRDNGGZDlwNfNfwS
|
||||||
|
ttCHThhhcBVpTBcdhdpfNGDSQLwDLfDGfQllCG
|
||||||
|
jFjzcFhzQTTjHFvJsrPPnnFgPb
|
||||||
|
SZggDgNLGCQzSgRsljscPvPPbHsBNc
|
||||||
|
TtFfTpMthzhFFTpdMMJPfjPPWjBbHbjPlPPBjj
|
||||||
|
dpdttMMTJttzMFhqFwGLgGRSrrQGSZrwRrDQ
|
||||||
|
JsJntWmghjgJTpfgFCczlztzrDZDtDzC
|
||||||
|
QddBBdBSPPPHBSVHVHvNdPVRClvlcclCDLCLFRFrrDLcZc
|
||||||
|
NVwBVSNlSBNHngnngsJWhwWh
|
||||||
|
hQVWJGWJlJQDGJHQWHpVWJVHmfPGPcjfdLdLSrcCmfjPjCPm
|
||||||
|
wgwnRwMvNvBvFZMngNvFZCjdSSfcbPLjCbcdCbSf
|
||||||
|
wgnRvMMvjMsTwngTgnnDVDWJDplHWhlhQWlWDT
|
||||||
|
WGswWFGsBFwHvjnbnnJjbG
|
||||||
|
gLDrSrPpLfmmDqqbbJZsjvmvRv
|
||||||
|
DTldTpTsDLgSsLpfPTslVdVVdNWVzcNwtWdWhzVt
|
||||||
|
sttWrhWZsLVtJVZrWhgbCPQQbDNVCHglnnlN
|
||||||
|
vvRRRMqpmTjwFqmfjFjmBMwNbCwQNgHgDnbNnHQHQCDg
|
||||||
|
THpvmBGfzWGzSzzS
|
||||||
|
nmZwwfPmNggwgPgNmdvPPhTRHTHBJTsvSP
|
||||||
|
WDccMzVQzGWcrllLdsGTvTsJJBLTdL
|
||||||
|
pWtzQrzDlrCpcQztlzCCCpCVFFFwtgmfbjmbqwZjZfmFwfdw
|
||||||
|
bmMNNMVSRWBWCSmVRdMRmMnvZZscvvszGcnZClpcGsvZ
|
||||||
|
gfLfDDtDgjgDtWTjFQjHsvvpZqqplfvvcllcnnvG
|
||||||
|
TFPjDtWPNPwBBBNB
|
||||||
|
QcTCHcTwdpQgcWzWwvMPRzSGwW
|
||||||
|
sDNjfhVmnlVffmLNfLbMPPDbqGtMSRWtDMtP
|
||||||
|
fZjJJshhhLNnrCJScHSccTQQ
|
||||||
|
qfhBhLLjvMqWWBWjsQGrdrGzpszpGrqd
|
||||||
|
JTSDHFtlTDbHTcFcDbTHzmrNRdRRbNzrmRRnRpnQ
|
||||||
|
PHcltTgJDlplgptScCfCgWMVfvfZvhMMBV
|
||||||
|
rttDPglHZZDDDPHgZtgWBswdsTfpfdplLqfsFfFdfd
|
||||||
|
cRVvpcmpmRSCGGCcMQmQFqNNqdVdqTbLwNbdFfFs
|
||||||
|
zhGjRhSvcMtnrpZjHZBg
|
||||||
|
STNrrzVdTJwsBggwFgBN
|
||||||
|
WbtMWJJpwpDsLBfP
|
||||||
|
cbvncCCmWtCGMcZHVVSlJVQrzvzVqQ
|
||||||
|
MtPVBHVbBBTwbvWgRgvF
|
||||||
|
LhZjZpnnMRwWfhSh
|
||||||
|
LQcQCLCCCcnmnqZpcrpnrjQlsBMHddtMGGzrJHPPsHsNPPJz
|
||||||
|
NbZtmZDmNNDBHBhDNtNGcvpmgLmmFrvprgrFGv
|
||||||
|
djMjffMdqnVVTdMfTPnQSFScFFVSLLFrvccvcllL
|
||||||
|
PPdPwMQwTMWDwBDZLHZN
|
||||||
|
DqpJFdhtmdSwpqSncljHsnfjqlbzlc
|
||||||
|
rQVZLGMWPCNrCGMwNVMcbzsVgfHHgfncfscssH
|
||||||
|
NBCrPLwMTrrMBLQLwCFhpFBDFdFFtdvDFvpD
|
||||||
|
QRwGBdGwqRTBMWRMMzBqQHHhngspPFFbHbzgbhZLLP
|
||||||
|
rCNmDjvrCFpvLZsgPb
|
||||||
|
lDrmpcfCtVDtCjlfNfQQqVdJBQWRVVRMMMJQ
|
||||||
|
zcgjlRcJCFtlnTvppn
|
||||||
|
BLSHDMVPVPHVHwFwMhTvgnFZMh
|
||||||
|
DsLSDdmPVNVdGgrzCCdbjc
|
||||||
|
tjjRbNQtvJVVsvqsvdTsGqBp
|
||||||
|
wlFLPZPzzzrzwZPmZfZPlrmpLDCpWDWCSTCpppDDBssdWG
|
||||||
|
rwwcFFghFmgTcNRJNnnNJtHV
|
||||||
|
RLhbzMhccqLzdjghdFddNWPN
|
||||||
|
DmsTZfvrfJLPPWwrdFgw
|
||||||
|
LsmDtQDfLLGbGQbSzcpM
|
||||||
|
qwhmmHlHmlwChcCWlpPCBzjPVdBzLsdLBVsT
|
||||||
|
DnJDMqRDsPsjRVQR
|
||||||
|
tSGSnNNSbrJJGfDSSfbchpvptFwmpcvlHqZlcF
|
||||||
|
rdQdBRPrQBBnfdBbzLLgLgmbzSLCPW
|
||||||
|
TcRTcFDTcjvswMWzzgLSzwwSLJbL
|
||||||
|
MNTRMNGTsFMMqqqcMDTTnfpBhQhNpHZBZHBfrptQ
|
||||||
|
ZZFwcQGwRGLTGLTl
|
||||||
|
rJtMrqBVvhBCnlCn
|
||||||
|
WWWMttbqqzfPWqWJVzmDQwFQlwZwjQfjgFcZ
|
||||||
|
RhgmdBbLLmRvhGZwhZZJDwGq
|
||||||
|
ldPpTtTPtVPpfTGzJQFGFqJsFG
|
||||||
|
MPpCnrlCVfPtrPVtntllnbdHSbnBvvgdgHgnWvSv
|
||||||
|
nbnfjQbQZBqBvjQdVFGHhsQhsFsFzGpD
|
||||||
|
RSJSTTcCVTTMlSNcSTRRwTccpwDFDDzFhHhtwppssFGGpsDp
|
||||||
|
clcTNJlLMgrcgRvBjfWVfWfBrrZn
|
||||||
|
LHQdpQLQDRcDBQccVQpnNRhllzMtRqzRztTNnt
|
||||||
|
mrvZPZvZvZbPSFJrSrggFvrJzbhlzttTlNtqtsMtTntntdqq
|
||||||
|
GPfJPJwfZFrmFvrPmgHHQLQWdHQBwWWCHVVC
|
||||||
|
TvTTLfflhZmwZLvtJmhdFhMpnWrpnbJcWMnpHzMrzbcn
|
||||||
|
VqRRNGCBjRmqPGqDzbHMcMccWnzngHnP
|
||||||
|
jNqNBjsDsDRCNVsmBRNQNRSSSddhZvLhddZhvhwvLTZwhSfT
|
||||||
|
vjpJvpgpNwjDWvvJLhFLLhNRTmPTRPRF
|
||||||
|
HHbHVrMHMmqzHlGmtGqMtdLCLQthQQPCSPTSFLLPRT
|
||||||
|
bZZzbHszMrqzGmrHMBzbHbqJjffcDgwWjDJpnjjcscwgnw
|
||||||
|
fBHDMNhhHMrBDBrfQqfwwvvLvfjLZZ
|
||||||
|
lmppmGJgPPpddJVdnwsQjLttqtjZTpcsvT
|
||||||
|
RndRmlGWJgdRnWQJQgWdQPlFFbhhbFbHbHMhhBbRDRFrrS
|
||||||
|
tVhwlMdMWlhlZMZMlzWrtRpBNpLPpmnmCPQBLppPPPBz
|
||||||
|
GvGTsgjcTLRQHmTQ
|
||||||
|
gGRGbfbgbcSbbcRggvfcwlZVhVMfltddVtrlZdhW
|
||||||
|
PwjPHwWssqrHqCqprpCPjwrrQnnDbdnQnGQHnbZbGQZbBQdD
|
||||||
|
WvNtLhfLndnBNbJJ
|
||||||
|
fvhvvWfTmtzTmjpsVVqsPzMjjq
|
||||||
|
GjHMMTMfZbnqHnJNCN
|
||||||
|
rlpQpthdlQbnlJqRzqVL
|
||||||
|
spphwcpBvcvdvFTqPDFfwwPZTG
|
||||||
|
mQfqmtpfBHJCHdlMDB
|
||||||
|
cbbPPsZqjqcSvVsCrDllsrdzrzzD
|
||||||
|
TSbVTvShqnVjPTPbggSPbNFQWGtfNLtFfWgGmGgGWR
|
||||||
|
HJtwgJJwJrcjRRjRnwhVdrVbmGhPmNNrGhdV
|
||||||
|
fWFvTDssTDMCBCWsvszWWMCQhZhLLNvNNbhVGGZdRZRdmhmd
|
||||||
|
zCTBzWzDDCDCfFCRqCJHcJJctjJSgHpqHqJg
|
||||||
|
dgnwgbcwVGbgDWnQbjdgDnBRBBNNqRLBNMLFRMRlqNsc
|
||||||
|
fTZHmTmzJMmSSCZChZvZTHRlBNBFqtqftlqssqNqftts
|
||||||
|
JTHJvhzCHpmPCSSTzPpPzJHgQVdQQjQdQwjgdpgdDMGgQM
|
||||||
|
qPGmWLJWBRRdvqvvNq
|
||||||
|
TnZHsTZsZsZZbDtbrNrdnDft
|
||||||
|
SShhQQZCHQCSTVlllVVQCjQWNJGFWpWgFpmmVmNgLgFpGw
|
||||||
|
TsSmttWMVstNfbMfBcpnFchFwFwZNrrwFp
|
||||||
|
DWWCGlHWdhddwpcrjh
|
||||||
|
gQvPqglRCHCHCPCPCJbbtSVVWtTVVJvTbs
|
||||||
|
ddHSZQHDStZStLtsdDpbCbBPcjGGCqCMBGdNPb
|
||||||
|
hWhvmglVznzglgzvzfznwfnfscswPjbMBMjNGBMPGMcjcPwP
|
||||||
|
sJWsJfVflWsnhrltrZLFDDRRFTSSLT
|
||||||
|
qqCqLNjnPPLZPjqnDjLNgnNrcGwtgddGrhprBJhhJtBGJG
|
||||||
|
lTMDsDHmlRRbQQbVfMHFmMBJhwcTddrcpBBGdGGJcJdB
|
||||||
|
lHFfQFssFFFMQRVWQVlssLnDSLLPvZZPqWCLWSqjvS
|
||||||
|
pJPZRpQtpPQpGPqWbqlWTdLVLJbT
|
||||||
|
nnnjCwgrgcCFBfnggBCsMTVbVsWVWdCTTdbb
|
||||||
|
cfhcnwnrcggrncrwcjBDcGHmNPRRGRZZQRRdDZzmzH
|
||||||
|
NqTrrzLpTNdLLJBBcBGGZGpFHB
|
||||||
|
sWbgfHSfSgVgZcmGtStZwBFG
|
||||||
|
VjQjjPjhbbfsCbbDQCgsDrRhzMdlNzHTRdRhqdNTrq
|
||||||
|
GlqfPdvdBqPgfqDgFMsMVDppbsNJNpMs
|
||||||
|
WnmmWCTCjZnmzRjTZRRnFBMNpbZZpFJMSFSNFSbS
|
||||||
|
TRRrnLBmzjttRRCmTRjjwLlvdhQvdrhqqlGdPqGggPlQ
|
||||||
|
McjMPgPgGPHJWjhPNgPqQbpQSfqffnWVnnnpnZ
|
||||||
|
BwwDmBTLRBBLzBTBTvtVqlfpqfbQqpqZbnQFlt
|
||||||
|
rDsDBsmvRTBRzCTZsTmCsCrLPgNcPHNhPccNHHrjMNrgdNdP
|
||||||
|
GqmLFDrcglvQGZwwzj
|
||||||
|
nlHbSNBhhslJfsBfvdZHdCvRzdCzppzR
|
||||||
|
JWShMfWMMthSJBBthJsgtcTTcFqcTrmTLrrTlr
|
||||||
|
CsBsShBWsBWhvFJWCSsJpbTZdTbdBRgHffRlHHHBgH
|
||||||
|
tqmnwwwDmVwfzZblzTRqzQ
|
||||||
|
DGtDjGMcntMGnnGhhjJJJsCpFRRSJJ
|
||||||
|
GQVVcGgFGcSFvfcFfJVnQmdbTwMLwTTnbnQMws
|
||||||
|
ZqZrDWDtNPPHRNPzGCdndLLMLwMWhwbmLddn
|
||||||
|
DRqRHCHlCtDrqtNqDplfpvGFjVjvBSFFcj
|
||||||
|
zfSfdGPdMVHHdcMThhpwqqrwrqJhcF
|
||||||
|
vlDNTWDDWWnngNQZtgwLrJZqLFZLFJpFJjJJ
|
||||||
|
NCtWmnvBmDnWQVTmTGSRmmRTPz
|
||||||
|
LLvppVLDsppGMGCLCCwNmJMNrNHrNmNNmHFjrh
|
||||||
|
lZZfvfgRPZQWNNmlWlFNHl
|
||||||
|
nnRtndRbcPttvTpswLTs
|
||||||
|
trtzWfszNPlhPlgrWglhZjSLDBvTfSDTmSvmLvfS
|
||||||
|
QMdVVGBQMTJDvSjdHJ
|
||||||
|
nBppGVVnQQgzgPsPzzhp
|
||||||
|
fVQzVrQVtVzHwjtMTjcTCjFgcDCGCd
|
||||||
|
JslDPWLbLbZlJBMgBTBPdcFTFd
|
||||||
|
JNJmZsDLnLDWmsVqSrHqnHqQwQSq
|
||||||
|
mLMZRMRmZLmHLLjNshrrJjRsNNsj
|
||||||
|
PnqnBVBPcpWrWfWzDhDsHW
|
||||||
|
qpBQgcQncqpBcVgtclHqcSMTLZZQvLLZdLdwCmLMSd
|
||||||
|
PZgMwZMjPgBCWgZFgmBGSTtwcccztTzbnGDcNT
|
||||||
|
vJLlvvlfdsVVslVHrrpLfRlDcSScmbSnnRGDnbDTSbSSDt
|
||||||
|
fvVHdLfLQljmmqqMQPhQ
|
||||||
|
DZRstNGrDWGRMlzLHLMpNSpp
|
||||||
|
bPgCrCvgnrCPgwplbMSjfHzHfj
|
||||||
|
CgnFnBVrFFVmdVggmPPVTTcZBGhRqGtcZqqJhGRGssWs
|
||||||
|
WrrCGrDlWhBBZtHB
|
||||||
|
ggdcnQpcPRSpzfvJBTfPJvtP
|
||||||
|
gSNnSBFnSMBNjpMssDmCrrGmCLqq
|
||||||
|
szZGZGGwNdVtpwvbzptzVBQQLFclTJQFlHJNcFBRRJ
|
||||||
|
CTrqSfWThWDjJCcLQRRRFLlQ
|
||||||
|
rggqfMqPWnDqnVbZvTtPZpssVw
|
||||||
|
GJHqPPcJnhthNHnL
|
||||||
|
rzzlVDVTQDzSSdsSlzpBspssLhmZNjhZWjjffWBLZhgBmnjt
|
||||||
|
TSTQTsnTbDsMvCGwcFvbJR
|
||||||
|
PPjtzdnCnSjSthPjWJgJWjgMNBsNrT
|
||||||
|
bZHfLLhvhpbfvLhHfQbqpNJTWWNsqNTrTNrgWN
|
||||||
|
ZFbZZFvlRvZwhQwLDSdGnmCGmnlmdznD
|
||||||
|
RFRRhzzsRsszRlhbrhgBcbTfHgBT
|
||||||
|
pJtNmSgwZNtSJLgSqHcbBDDTHPfrSqTc
|
||||||
|
ZNWdpNCJtLZpQJLLpmLtZNFGjVgFnsngRGllVsjjCnvs
|
||||||
|
sJVRJmmmwwlmzcszMzjRjJVzspCZBsZTTFpTTZvSZTFBFbtZ
|
||||||
|
GhNDgNWnGGqDvFSCZvbtFpvg
|
||||||
|
fWrCNNffGnhWdrPhWjwjzRlJmcjRcPzlmV
|
||||||
|
FdncmqmgcZztLWFvFFvjWLlT
|
||||||
|
RsMMJVpfhJVsDVMfJpvlTWTvhjQSQvCbLCSC
|
||||||
|
jDBjRrsVfNJgzdZrZwtmZt
|
||||||
|
THDDQLZTGQQLQDSSTBCZSZHfFrvvlVRRlPVFfVrvqnvnnH
|
||||||
|
VbWWcgbNpjgPrRvrNfqnzv
|
||||||
|
swggwpJWwsWscJsDSLTJTmSVZJTBDZ
|
||||||
|
wGsznPGGBHdzHhtHDD
|
||||||
|
WMVSWqVmrSBMpvWVMFtdClhDtqDDHhdtQt
|
||||||
|
RgWVRcmgnPPnjJBg
|
||||||
|
BmfPBHBFswLLjQQnLCnzzW
|
||||||
|
SRdvvRSGrdlRSvTgRrMVCjVWCZzMnVZhWzTj
|
||||||
|
vlSRJrRJvbGGrSSJgWvlScptFmwbmfHHBfsNFmBbfsFm
|
||||||
30
2022/day4_1.py
Normal file
30
2022/day4_1.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day4_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line)
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
for line in input:
|
||||||
|
first, second = line.split(',')
|
||||||
|
first = make_range(first)
|
||||||
|
second = make_range(second)
|
||||||
|
|
||||||
|
if is_in(first, second) or is_in(second, first):
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
print(count)
|
||||||
|
|
||||||
|
def make_range( a ):
|
||||||
|
return tuple(int(i) for i in a.split('-'))
|
||||||
|
|
||||||
|
def is_in( r1, r2 ):
|
||||||
|
return r1[0] <= r2[0] and r1[1] >= r2[1]
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
30
2022/day4_2.py
Normal file
30
2022/day4_2.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
## Read input file
|
||||||
|
input = []
|
||||||
|
with open('day4_input.txt', 'r') as f:
|
||||||
|
for line in f.readlines():
|
||||||
|
input.append(line)
|
||||||
|
|
||||||
|
|
||||||
|
# Solve problem
|
||||||
|
def run():
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
for line in input:
|
||||||
|
first, second = line.split(',')
|
||||||
|
first = make_range(first)
|
||||||
|
second = make_range(second)
|
||||||
|
|
||||||
|
if overlaps(first, second) or overlaps(second, first):
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
print(count)
|
||||||
|
|
||||||
|
def make_range( a ):
|
||||||
|
return tuple(int(i) for i in a.split('-'))
|
||||||
|
|
||||||
|
def overlaps( r1, r2 ):
|
||||||
|
return not (r2[1] < r1[0] or r2[0] > r1[1])
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
||||||
1000
2022/day4_input.txt
Normal file
1000
2022/day4_input.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user